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

6566 lines
292 KiB

6 months ago
1 month ago
1 month ago
1 month ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
1 month ago
2 weeks ago
2 months ago
2 weeks ago
2 weeks ago
6 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
1 month ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
2 months ago
2 months ago
6 months ago
3 months ago
6 months ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
1 month ago
2 months ago
1 month ago
2 months ago
3 months ago
3 months ago
1 month ago
3 months ago
3 months ago
2 weeks ago
5 days ago
2 months ago
2 months ago
2 months ago
6 months ago
6 months ago
6 months ago
7 months ago
6 months ago
2 months ago
3 months ago
6 months ago
6 months ago
6 months ago
2 months ago
1 month 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. epi.picture_flag,
  109. CASE WHEN epi.collection_method = 'plc' THEN 'PLC'
  110. WHEN epi.collection_method = 'file' THEN '文件'
  111. WHEN epi.collection_method = 'image' THEN '图片'
  112. else '' end as collectionMethodDesc,
  113. epi.collection_condition,
  114. epi.collection_data_content
  115. FROM eam_properties_item as epi
  116. LEFT JOIN qc_method_item as qmi on epi.ItemNo = qmi.ItemNo and epi.site = qmi.site
  117. LEFT JOIN qc_method as qm on qmi.method_no = qm.method_no and qmi.site = qm.site
  118. LEFT JOIN qc_inspection_type as qit on qit.inspection_type_no = epi.inspection_type_no and qit.site = epi.site
  119. left join qc_sampling_inspection_programme as qsip on qsip.site = epi.site and qsip.sampling_programme_no = epi.sampling_programme_no
  120. left join qc_sampling_inspection_level as qsil on qsil.site = epi.site and qsil.sampling_level_no = epi.sampling_level_no
  121. <where>
  122. <if test="query.site != null and query.site != ''">
  123. AND epi.site LIKE '%' + #{query.site} +'%'
  124. </if>
  125. <if test="query.itemDesc != null and query.itemDesc != ''">
  126. AND epi.ItemDesc LIKE '%' + #{query.itemDesc} +'%'
  127. </if>
  128. <if test="query.itemNo != null and query.itemNo != ''">
  129. AND epi.ItemNo LIKE '%' + #{query.itemNo} +'%'
  130. </if>
  131. <if test="query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  132. AND epi.inspection_type_no = #{query.inspectionTypeNo}
  133. </if>
  134. </where>
  135. </select>
  136. <!-- 检测是否存在该项目 -->
  137. <select id="checkQcItem" parameterType="com.heai.modules.pms.data.QcItemData" resultType="com.heai.modules.pms.data.QcItemData">
  138. SELECT ItemNo,
  139. ItemDesc
  140. FROM eam_properties_item
  141. WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
  142. </select>
  143. <!-- 获得检验项目单号 -->
  144. <select id="getItemNo" resultType="string" parameterType="com.heai.modules.pms.data.QcItemData">
  145. SELECT
  146. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(ItemNo,4))),0)+1),4)
  147. FROM eam_properties_item
  148. WHERE site = #{site} and ItemType = 'D' and inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
  149. </select>
  150. <!-- 新增检验项目 -->
  151. <insert id="qcItemSave" parameterType="com.heai.modules.pms.data.QcItemData">
  152. 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,picture_flag)
  153. 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},#{pictureFlag})
  154. </insert>
  155. <!-- 新增项目里的方法 -->
  156. <insert id="qcItemMethodSave" parameterType="com.heai.modules.pms.data.QcItemData">
  157. INSERT INTO qc_method_item (ItemNo, method_no, site,bu_no)
  158. VALUES (#{itemNo}, #{methodNo}, #{site},#{buNo})
  159. </insert>
  160. <!-- 修改检验项目 -->
  161. <update id="qcItemUpdate" parameterType="com.heai.modules.pms.data.QcItemData">
  162. UPDATE eam_properties_item
  163. SET ItemDesc = #{itemDesc},
  164. DefaultValue = #{defaultValue},
  165. ValueType = #{valueType},
  166. ValueType_DB = #{valueTypeDb},
  167. ValueChooseFlag = #{valueChooseFlag},
  168. MaxValue = #{maxValue,jdbcType=DECIMAL},
  169. MinValue = #{minValue,jdbcType=DECIMAL},
  170. ItemRemark = #{itemRemark},
  171. update_date = getDate(),
  172. update_by = #{updateBy},
  173. inspection_type_no = #{inspectionTypeNo},
  174. item_sampling_quantity = #{itemSamplingQuantity},
  175. sampling_programme_no = #{samplingProgrammeNo},
  176. sampling_level_no = #{samplingLevelNo},
  177. default_sampling_proportion = #{defaultSamplingProportion},
  178. collection_flag = #{collectionFlag},
  179. collection_source = #{collectionSource},
  180. collection_method = #{collectionMethod},
  181. collection_condition = #{collectionCondition},
  182. collection_data_content = #{collectionDataContent},
  183. picture_flag = #{pictureFlag}
  184. WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
  185. </update>
  186. <!-- 修改项目中的方法 -->
  187. <update id="qcItemMethodUpdate" parameterType="com.heai.modules.pms.data.QcItemData">
  188. UPDATE qc_method_item
  189. SET method_no = #{methodNo}
  190. WHERE site = #{site} and ItemNo = #{itemNo}
  191. </update>
  192. <!-- 检查项目是否在被模板使用 -->
  193. <select id="checkItemIsUsed" parameterType="com.heai.modules.pms.data.QcItemData" resultType="com.heai.modules.pms.data.EamPropertiesModelDetailData">
  194. SELECT template_id
  195. FROM qc_template_detailed
  196. WHERE site = #{site} and ItemNo = #{itemNo} and bu_no = #{buNo}
  197. </select>
  198. <!-- 删除检验项目 -->
  199. <delete id="qcItemDelete" parameterType="com.heai.modules.pms.data.QcItemData">
  200. DELETE
  201. FROM eam_properties_item
  202. WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
  203. </delete>
  204. <!-- 删除项目-方法中间表数据 -->
  205. <delete id="qcItemMethodDelete" parameterType="com.heai.modules.pms.data.QcItemData">
  206. DELETE
  207. FROM qc_method_item
  208. WHERE site = #{site} and ItemNo = #{itemNo}
  209. </delete>
  210. <!-- ================================================= 质检员信息维护 ================================================= -->
  211. <!-- 查询质检员信息列表 -->
  212. <select id="inspectorSearch" resultType="com.heai.modules.pms.data.QcInspectorData">
  213. SELECT inspector_no,
  214. inspector_name,
  215. inspector_phone,
  216. inspector_type,
  217. inspector_active
  218. FROM qc_inspector
  219. </select>
  220. <!-- 检验是否已存在该质检员 -->
  221. <select id="checkInspector" resultType="com.heai.modules.pms.data.QcInspectorData">
  222. SELECT inspector_name
  223. FROM qc_inspector
  224. WHERE inspector_no = #{inspectorNo}
  225. </select>
  226. <!-- 新增质检员 -->
  227. <insert id="inspectorSave" parameterType="com.heai.modules.pms.data.QcInspectorData">
  228. INSERT INTO qc_inspector (inspector_no, inspector_name, inspector_phone, inspector_type, inspector_active, create_time)
  229. VALUES (#{inspectorNo}, #{inspectorName}, #{inspectorPhone}, #{inspectorType}, #{inspectorActive}, getDate())
  230. </insert>
  231. <!-- 修改质检员 -->
  232. <update id="inspectorUpdate" parameterType="com.heai.modules.pms.data.QcInspectorData">
  233. UPDATE qc_inspector
  234. SET inspector_name = #{inspectorName},
  235. inspector_phone = #{inspectorPhone},
  236. inspector_type = #{inspectorType},
  237. inspector_active = #{inspectorActive}
  238. WHERE inspector_no = #{inspectorNo}
  239. </update>
  240. <!-- 删除质检员 -->
  241. <delete id="inspectorDelete" parameterType="com.heai.modules.pms.data.QcInspectorData">
  242. DELETE FROM qc_inspector
  243. WHERE inspector_no = #{inspectorNo}
  244. </delete>
  245. <!-- ================================================= 抽样矩阵维护 ================================================= -->
  246. <!-- 查询抽样矩阵 -->
  247. <select id="samplingInspectionPlanSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  248. SELECT
  249. qsip.site,
  250. qsip.bu_no,
  251. qsip.sampling_plan_no,
  252. qsip.sampling_plan_desc,
  253. qsip.sampling_qty_no,
  254. qsiq.sampling_qty,
  255. qsiq.sampling_qty_desc,
  256. qsip.sampling_qty_rank_no,
  257. qsiqr.sampling_qty_rank_desc,
  258. qsiqr.min_qty,
  259. qsiqr.max_qty,
  260. qsip.sampling_level_no,
  261. qsil.sampling_level_desc,
  262. qsip.sampling_plan_active,
  263. case when qsip.sampling_plan_active = 'Y' then '是' when qsip.sampling_plan_active = 'N' then '否' else '' end as samplingPlanActiveDesc,
  264. qsip.create_date,
  265. qsip.create_by,
  266. dbo.getOperatorDesc(qsip.site, qsip.create_by) as createByDesc,
  267. qsip.update_date,
  268. qsip.update_by,
  269. dbo.getOperatorDesc(qsip.site, qsip.update_by) as updateByDesc
  270. FROM qc_sampling_inspection_plan as qsip
  271. 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
  272. 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
  273. 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
  274. <where>
  275. <if test="query.site != null and query.site != ''">
  276. AND qsip.site = #{query.site}
  277. </if>
  278. <if test="query.samplingQtyDesc != null and query.samplingQtyDesc != ''">
  279. AND qsiq.sampling_qty_desc LIKE '%' + #{query.samplingQtyDesc}+'%'
  280. </if>
  281. <if test="query.samplingLevelDesc != null and query.samplingLevelDesc != ''">
  282. AND qsil.sampling_level_desc LIKE '%' + #{query.samplingLevelDesc}+'%'
  283. </if>
  284. <if test="query.samplingPlanActive != null and query.samplingPlanActive != ''">
  285. AND qsip.sampling_plan_active = #{query.samplingPlanActive}
  286. </if>
  287. </where>
  288. </select>
  289. <!-- 根据三个编码查矩阵 -->
  290. <select id="selectSamplingPlanByNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  291. SELECT top 1
  292. site,
  293. bu_no,
  294. sampling_plan_no,
  295. sampling_qty_no,
  296. sampling_qty_rank_no,
  297. sampling_level_no,
  298. sampling_plan_active
  299. FROM qc_sampling_inspection_plan
  300. WHERE sampling_qty_no = #{samplingQtyNo} AND sampling_qty_rank_no = #{samplingQtyRankNo} AND sampling_level_no = #{samplingLevelNo} AND site = #{site} and bu_no = #{buNo}
  301. </select>
  302. <select id="selectSamplingPlanByOutNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  303. SELECT top 1
  304. site,
  305. bu_no,
  306. sampling_plan_no,
  307. sampling_qty_no,
  308. sampling_qty_rank_no,
  309. sampling_level_no,
  310. sampling_plan_active
  311. FROM qc_sampling_inspection_plan
  312. WHERE site = #{site} and bu_no = #{buNo} and sampling_plan_no = #{samplingPlanNo}
  313. </select>
  314. <select id="selectSamplingPlanByNoList"
  315. resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  316. SELECT
  317. site,
  318. bu_no,
  319. sampling_plan_no,
  320. sampling_qty_no,
  321. sampling_qty_rank_no,
  322. sampling_level_no,
  323. sampling_plan_active
  324. FROM qc_sampling_inspection_plan
  325. WHERE sampling_qty_no = #{samplingQtyNo} AND sampling_qty_rank_no = #{samplingQtyRankNo} AND sampling_level_no = #{samplingLevelNo} AND site = #{site} and bu_no = #{buNo}
  326. </select>
  327. <select id="selectSamplingPlanByDescList"
  328. resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  329. SELECT
  330. site,
  331. bu_no,
  332. sampling_plan_no,
  333. sampling_qty_no,
  334. sampling_qty_rank_no,
  335. sampling_level_no,
  336. sampling_plan_active
  337. FROM qc_sampling_inspection_plan
  338. WHERE sampling_plan_desc = #{samplingPlanDesc} AND site = #{site} and bu_no = #{buNo} and sampling_plan_no != #{samplingPlanNo}
  339. </select>
  340. <!-- 根据名称查矩阵 -->
  341. <select id="selectSamplingPlanByDesc" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  342. SELECT
  343. site,
  344. bu_no,
  345. sampling_plan_no,
  346. sampling_qty_no,
  347. sampling_qty_rank_no,
  348. sampling_level_no,
  349. sampling_plan_active
  350. FROM qc_sampling_inspection_plan
  351. WHERE sampling_plan_desc = #{samplingPlanDesc} AND site = #{site} and bu_no = #{buNo}
  352. </select>
  353. <!-- 获取最大方矩阵编码 -->
  354. <select id="queryLastSamplingPlanNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  355. SELECT top 1 sampling_plan_no
  356. FROM qc_sampling_inspection_plan
  357. where site = #{site} and bu_no = #{buNo}
  358. ORDER BY sampling_plan_no Desc
  359. </select>
  360. <!-- 新增抽样矩阵 -->
  361. <insert id="samplingInspectionPlanSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  362. 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)
  363. VALUES (#{site}, #{buNo}, #{samplingPlanNo}, #{samplingPlanDesc}, #{samplingQtyRankNo}, #{samplingLevelNo}, #{samplingQtyNo}, #{samplingPlanActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  364. </insert>
  365. <!-- 修改抽样矩阵 -->
  366. <update id="samplingInspectionPlanUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  367. UPDATE qc_sampling_inspection_plan
  368. SET sampling_qty_rank_no = #{samplingQtyRankNo},
  369. sampling_level_no = #{samplingLevelNo},
  370. sampling_qty_no = #{samplingQtyNo},
  371. sampling_plan_desc = #{samplingPlanDesc},
  372. sampling_plan_active = #{samplingPlanActive},
  373. update_date = getDate(),
  374. update_by = #{updateBy}
  375. WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo}
  376. </update>
  377. <!-- 删除抽样矩阵 -->
  378. <delete id="samplingInspectionPlanDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
  379. DELETE FROM qc_sampling_inspection_plan
  380. WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo}
  381. </delete>
  382. <!-- ================================================= 检验模板维护 ================================================= -->
  383. <!-- 查询模板 -->
  384. <select id="templateSearch" parameterType="com.heai.modules.pms.data.QcTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData">
  385. SELECT
  386. qt.site,
  387. qt.bu_no,
  388. qt.template_id,
  389. qt.template_name,
  390. qt.template_remark,
  391. qt.template_type,
  392. qt.template_version,
  393. qt.sampling_programme_no,
  394. qsip.sampling_programme_Desc,
  395. qt.inspection_type_no,
  396. qit.inspection_type_name,
  397. qt.sampling_level_no,
  398. qsil.sampling_level_desc,
  399. qt.inspection_cycle,
  400. qt.create_time,
  401. qt.create_by,
  402. dbo.getOperatorDesc(qt.site, qt.create_by) as createByDesc,
  403. qt.update_date,
  404. qt.update_by,
  405. dbo.getOperatorDesc(qt.site, qt.update_by) as updateByDesc,
  406. qt.AQL,
  407. qt.AC,
  408. qt.RE,
  409. qt.default_sampling_quantity,
  410. qt.default_sampling_proportion
  411. FROM qc_template as qt
  412. LEFT JOIN qc_inspection_type as qit on qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  413. 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
  414. 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
  415. <where>
  416. <if test = "query.site != null and query.site != ''">
  417. AND qt.site = #{query.site}
  418. </if>
  419. <if test = "query.templateId != null and query.templateId != ''">
  420. AND qt.template_id LIKE '%' + #{query.templateId}+'%'
  421. </if>
  422. <if test = "query.templateName != null and query.templateName != ''">
  423. AND qt.template_name LIKE '%' + #{query.templateName}+'%'
  424. </if>
  425. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  426. AND qt.inspection_type_no = #{query.inspectionTypeNo}
  427. </if>
  428. </where>
  429. order by qt.create_time desc
  430. </select>
  431. <!-- 获得检验模板单号 -->
  432. <select id="getTemplateNo" resultType="string" parameterType="com.heai.modules.pms.data.QcTemplateData">
  433. SELECT
  434. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(template_id,3))),0)+1),3)
  435. FROM qc_template
  436. WHERE site = #{site} and inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
  437. </select>
  438. <!-- 新增模板 -->
  439. <insert id="templateSave" parameterType="com.heai.modules.pms.data.QcTemplateData">
  440. 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)
  441. VALUES (#{site},#{buNo}, #{templateId}, #{templateName},#{templateVersion}, #{templateRemark}, #{templateType}, #{samplingProgrammeNo}, #{inspectionTypeNo}, getDate(), #{createBy}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{aql}, #{ac}, #{re}, #{defaultSamplingQuantity}, #{defaultSamplingProportion}, getDate(), #{updateBy})
  442. </insert>
  443. <!-- 修改模板 -->
  444. <update id="templateUpdate" parameterType="com.heai.modules.pms.data.QcTemplateData">
  445. UPDATE qc_template
  446. SET template_name = #{templateName},
  447. template_version = #{templateVersion},
  448. template_remark = #{templateRemark},
  449. template_type = #{templateType},
  450. sampling_programme_no = #{samplingProgrammeNo},
  451. inspection_cycle = #{inspectionCycle},
  452. inspection_type_no = #{inspectionTypeNo},
  453. sampling_level_no = #{samplingLevelNo},
  454. AQL = #{aql},
  455. AC = #{ac},
  456. RE = #{re},
  457. default_sampling_quantity = #{defaultSamplingQuantity},
  458. default_sampling_proportion = #{defaultSamplingProportion},
  459. update_date = getDate(),
  460. update_by = #{updateBy}
  461. WHERE template_id = #{templateId} AND site = #{site}
  462. </update>
  463. <!-- 查询模板里的项目详情 -->
  464. <select id="templateDetailsSearch" resultType="com.heai.modules.pms.data.QcTemplateData">
  465. SELECT
  466. a.site,
  467. a.bu_no,
  468. a.template_id,
  469. a.ItemNo,
  470. b.ItemDesc,
  471. COALESCE(ad.default_value,a.default_value) AS default_value,
  472. b.ValueType,
  473. b.ValueType_DB,
  474. a.max_value,
  475. a.min_value,
  476. b.ItemRemark,
  477. b.ItemType,
  478. a.object_id,
  479. eo.objectDesc,
  480. b.item_sampling_quantity,
  481. b.sampling_programme_no,
  482. c.sampling_programme_desc,
  483. b.sampling_level_no,
  484. d.sampling_level_desc,
  485. b.default_sampling_proportion,a.order_id
  486. FROM qc_template_detailed a
  487. INNER JOIN eam_properties_item b ON a.ItemNo = b.ItemNo and a.site = b.site
  488. left join qc_part_attr_detailed ad on ad.item_no = b.ItemNo and b.site = ad.site and ad.attribute_no =#{attributeNo}
  489. left join qc_sampling_inspection_programme as c on b.site = c.site and b.sampling_programme_no = c.sampling_programme_no
  490. left join qc_sampling_inspection_level as d on b.site = d.site and b.sampling_level_no = d.sampling_level_no
  491. LEFT JOIN eam_object eo ON a.object_id = eo.ObjectID and a.site = b.site
  492. WHERE a.template_id = #{templateId} AND b.ItemType = #{itemType} and a.site = #{site}
  493. order by a.order_id,a.ItemNo
  494. </select>
  495. <!-- 查询模板里是否已存在该项目 -->
  496. <select id="selectItemDetails" resultType="com.heai.modules.pms.data.QcTemplateData">
  497. SELECT template_id,
  498. ItemNo,
  499. default_value,
  500. max_value,
  501. min_value
  502. FROM qc_template_detailed
  503. WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
  504. </select>
  505. <!-- 查询项目的最大最小值 -->
  506. <select id="selectDetail" resultType="com.heai.modules.pms.data.QcTemplateData">
  507. SELECT ItemNo,
  508. DefaultValue,
  509. MaxValue,
  510. MinValue
  511. FROM eam_properties_item
  512. WHERE ItemNo = #{itemNo} and ItemType = #{itemType} and site = #{site}
  513. </select>
  514. <!-- 新增模板的检验项目 -->
  515. <insert id="addItemDetails" parameterType="com.heai.modules.pms.data.QcTemplateData">
  516. INSERT INTO qc_template_detailed (template_id, ItemNo, default_value, max_value, min_value, site, bu_no,order_id)
  517. VALUES (#{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{site}, #{buNo},#{orderId})
  518. </insert>
  519. <!-- 删除模板的检验项目 -->
  520. <delete id="delItemDetails" >
  521. DELETE FROM qc_template_detailed
  522. WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
  523. </delete>
  524. <!-- 获取当前模板不包含的项目 -->
  525. <select id="getItemList" resultType="com.heai.modules.pms.data.QcTemplateData">
  526. SELECT
  527. a.site,
  528. a.bu_no,
  529. a.itemNo,
  530. a.ItemDesc,
  531. a.DefaultValue,
  532. a.MaxValue,
  533. a.MinValue
  534. FROM eam_properties_item a
  535. LEFT JOIN qc_template_detailed b ON b.template_id = #{templateId} and b.ItemNo = a.ItemNo and a.site = b.site
  536. 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}
  537. </select>
  538. <!-- 查询项目 -->
  539. <select id="getItem" resultType="com.heai.modules.pms.data.QcTemplateData">
  540. SELECT
  541. a.site,
  542. a.bu_no,
  543. a.itemNo,
  544. a.ItemDesc,
  545. a.DefaultValue,
  546. a.MaxValue,
  547. a.MinValue
  548. FROM eam_properties_item a
  549. 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
  550. <where>
  551. 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}
  552. <if test = "itemNo != null and itemNo != ''">
  553. AND a.ItemNo LIKE '%' + #{itemNo} + '%'
  554. </if>
  555. <if test = "itemDesc != null and itemDesc != ''">
  556. AND a.ItemDesc LIKE '%' + #{itemDesc} + '%'
  557. </if>
  558. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  559. AND a.inspection_type_no = #{inspectionTypeNo}
  560. </if>
  561. </where>
  562. </select>
  563. <!-- ===================== qc_part_attr_detailed 物料属性检验标准(site+attribute_no+item_no) ===================== -->
  564. <select id="partAttrDetailedSearch" resultType="com.heai.modules.pms.data.QcTemplateData">
  565. SELECT
  566. d.site,
  567. d.bu_no,
  568. d.attribute_no AS attributeNo,
  569. d.item_no AS itemNo,
  570. d.inspection_type_no AS inspectionTypeNo,
  571. b.ItemDesc,
  572. d.default_value AS defaultValue,
  573. b.ValueType AS valueType,
  574. b.ValueType_DB AS valueTypeDb,
  575. d.max_value AS maxValue,
  576. d.min_value AS minValue,
  577. b.ItemRemark AS itemRemark,
  578. b.ItemType AS itemType,
  579. d.object_id AS objectID,
  580. eo.objectDesc,
  581. d.order_id AS orderId
  582. FROM qc_part_attr_detailed d
  583. INNER JOIN eam_properties_item b ON d.item_no = b.ItemNo AND d.site = b.site
  584. LEFT JOIN eam_object eo ON d.object_id = eo.ObjectID AND d.site = b.site
  585. WHERE d.site = #{site}
  586. AND d.attribute_no = #{attributeNo}
  587. AND d.bu_no = #{buNo}
  588. ORDER BY d.order_id, d.item_no
  589. </select>
  590. <select id="getPartAttrItemList" resultType="com.heai.modules.pms.data.QcTemplateData">
  591. SELECT
  592. a.site,
  593. a.bu_no,
  594. a.itemNo,
  595. a.ItemDesc,
  596. a.DefaultValue,
  597. a.MaxValue,
  598. a.MinValue
  599. FROM eam_properties_item a
  600. LEFT JOIN qc_part_attr_detailed d
  601. ON d.site = a.site
  602. AND d.bu_no = #{buNo}
  603. AND d.attribute_no = #{attributeNo}
  604. AND d.item_no = a.ItemNo
  605. WHERE a.ItemType = #{itemType}
  606. AND a.site = #{site}
  607. AND a.bu_no = #{buNo}
  608. AND d.item_no IS NULL
  609. AND dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) = #{inspectionTypeName}
  610. </select>
  611. <select id="getPartAttrItem" resultType="com.heai.modules.pms.data.QcTemplateData">
  612. SELECT
  613. a.site,
  614. a.bu_no,
  615. a.itemNo,
  616. a.ItemDesc,
  617. a.DefaultValue,
  618. a.MaxValue,
  619. a.MinValue
  620. FROM eam_properties_item a
  621. LEFT JOIN qc_part_attr_detailed d
  622. ON d.site = a.site
  623. AND d.bu_no = #{buNo}
  624. AND d.attribute_no = #{attributeNo}
  625. AND d.item_no = a.ItemNo
  626. <where>
  627. a.ItemType = #{itemType}
  628. AND a.site = #{site}
  629. AND d.item_no IS NULL
  630. AND a.bu_no = #{buNo}
  631. AND dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) = #{inspectionTypeName}
  632. <if test="itemNo != null and itemNo != ''">
  633. AND a.ItemNo LIKE '%' + #{itemNo} + '%'
  634. </if>
  635. <if test="itemDesc != null and itemDesc != ''">
  636. AND a.ItemDesc LIKE '%' + #{itemDesc} + '%'
  637. </if>
  638. <if test="inspectionTypeNo != null and inspectionTypeNo != ''">
  639. AND a.inspection_type_no = #{inspectionTypeNo}
  640. </if>
  641. </where>
  642. </select>
  643. <select id="selectPartAttrItemDetails" resultType="com.heai.modules.pms.data.QcTemplateData">
  644. SELECT site, bu_no, attribute_no AS attributeNo, item_no AS itemNo
  645. FROM qc_part_attr_detailed
  646. WHERE site = #{site}
  647. AND bu_no = #{buNo}
  648. AND attribute_no = #{attributeNo}
  649. AND item_no = #{itemNo}
  650. </select>
  651. <insert id="insertPartAttrDetailed" parameterType="com.heai.modules.pms.data.QcTemplateData">
  652. INSERT INTO qc_part_attr_detailed
  653. (site, bu_no, attribute_no, item_no, inspection_type_no, default_value, max_value, min_value, object_id, order_id, create_time)
  654. VALUES
  655. (#{site}, #{buNo}, #{attributeNo}, #{itemNo}, #{inspectionTypeNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{objectID}, #{orderId}, getDate())
  656. </insert>
  657. <delete id="deletePartAttrDetailed">
  658. DELETE FROM qc_part_attr_detailed
  659. WHERE site = #{site}
  660. AND bu_no = #{buNo}
  661. AND attribute_no = #{attributeNo}
  662. AND item_no = #{itemNo}
  663. </delete>
  664. <delete id="deletePartAttrDetailedAll" parameterType="com.heai.modules.pms.data.QcTemplateData">
  665. DELETE FROM qc_part_attr_detailed
  666. WHERE site = #{site}
  667. AND bu_no = #{buNo}
  668. AND attribute_no = #{attributeNo}
  669. </delete>
  670. <select id="getPartAttrDetailedMaxOrderId" resultType="java.lang.Integer">
  671. SELECT ISNULL(MAX(order_id), 0) + 1
  672. FROM qc_part_attr_detailed
  673. WHERE site = #{site}
  674. AND bu_no = #{buNo}
  675. AND attribute_no = #{attributeNo}
  676. </select>
  677. <select id="getUpPartAttrItemData" resultType="com.heai.modules.pms.data.QcTemplateData">
  678. SELECT TOP 1
  679. site,
  680. bu_no,
  681. attribute_no AS attributeNo,
  682. item_no AS itemNo,
  683. order_id AS orderId
  684. FROM qc_part_attr_detailed
  685. WHERE #{orderId} > order_id
  686. AND site = #{site}
  687. AND bu_no = #{buNo}
  688. AND attribute_no = #{attributeNo}
  689. ORDER BY order_id DESC
  690. </select>
  691. <select id="getDownPartAttrItemData" resultType="com.heai.modules.pms.data.QcTemplateData">
  692. SELECT TOP 1
  693. site,
  694. bu_no,
  695. attribute_no AS attributeNo,
  696. item_no AS itemNo,
  697. order_id AS orderId
  698. FROM qc_part_attr_detailed
  699. WHERE order_id > #{orderId}
  700. AND site = #{site}
  701. AND bu_no = #{buNo}
  702. AND attribute_no = #{attributeNo}
  703. ORDER BY order_id
  704. </select>
  705. <update id="updatePartAttrDetailedOrder">
  706. UPDATE qc_part_attr_detailed
  707. SET order_id = #{orderId}
  708. WHERE site = #{site}
  709. AND bu_no = #{buNo}
  710. AND attribute_no = #{attributeNo}
  711. AND item_no = #{itemNo}
  712. </update>
  713. <!-- 删除模板 -->
  714. <delete id="templateDelete" parameterType="com.heai.modules.pms.data.QcTemplateData">
  715. DELETE FROM qc_template
  716. WHERE template_id = #{templateId} AND site = #{site}
  717. </delete>
  718. <!-- 物料属性模板是否已引用该检验模板号(存在则不允许删除检验模板) -->
  719. <select id="countQcAttributeTemplateByTemplateId" resultType="java.lang.Integer" parameterType="com.heai.modules.pms.data.QcTemplateData">
  720. SELECT COUNT(1)
  721. FROM qc_attribute_template
  722. WHERE site = #{site}
  723. AND template_id = #{templateId}
  724. <if test="buNo != null and buNo != ''">
  725. AND bu_no = #{buNo}
  726. </if>
  727. </select>
  728. <!-- 删除模板-项目中间表 -->
  729. <delete id="itemItemDelete" parameterType="com.heai.modules.pms.data.QcTemplateData">
  730. DELETE FROM qc_template_detailed
  731. WHERE template_id = #{templateId} and site = #{site}
  732. </delete>
  733. <!-- 搜索所有检验类型 -->
  734. <select id="inspectionTypeSearch" resultType="com.heai.modules.pms.data.QcInspectionTypeData" parameterType="com.heai.modules.pms.data.QcInspectionTypeData">
  735. SELECT inspection_type_no,
  736. inspection_type_name
  737. FROM qc_inspection_type
  738. WHERE site = #{site}
  739. order by num
  740. </select>
  741. <!-- 搜索所有设备 -->
  742. <select id="objectSearch" resultType="com.heai.modules.pms.data.EamObjectData">
  743. SELECT
  744. ObjectID,
  745. ObjectDesc
  746. FROM eam_object
  747. WHERE Active = 'Y' and site = #{site} and bu_no = #{buNo}
  748. </select>
  749. <!-- 导入文件检验 -->
  750. <select id="getItemByItemNo" resultType="com.heai.modules.pms.data.EamPropertiesItemData" parameterType="com.heai.modules.pms.data.QcItemData">
  751. SELECT ItemDesc,
  752. ItemType
  753. FROM eam_properties_item
  754. WHERE ItemDesc = #{itemDesc}
  755. AND DefaultValue = #{defaultValue}
  756. AND MaxValue = #{maxValue}
  757. AND MinValue = #{minValue}
  758. AND ItemType = #{itemType}
  759. </select>
  760. <!-- 新增检验项目 -->
  761. <insert id="insertItem" parameterType="com.heai.modules.pms.data.EamPropertiesItemData">
  762. INSERT INTO eam_properties_item (ItemNo, ItemDesc,DefaultValue,ValueType,ValueType_DB, CreatedDate,CreatedBy,MaxValue, MinValue, ItemRemark,ItemType)
  763. VALUES(#{itemNo},#{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType})
  764. </insert>
  765. <!-- &lt;!&ndash; 获取最大项目编码 &ndash;&gt;-->
  766. <!-- <select id="queryLastItemNo" resultType="string" parameterType="QcItemData">-->
  767. <!-- SELECT top 1 ItemNo-->
  768. <!-- FROM eam_properties_item-->
  769. <!-- WHERE ItemType = #{itemType}-->
  770. <!-- ORDER BY ItemNo Desc-->
  771. <!-- </select>-->
  772. <!-- 根据模板名称查询模板 -->
  773. <select id="selectTemplateByDesc" parameterType="com.heai.modules.pms.data.QcTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData">
  774. SELECT template_id,
  775. template_name,
  776. template_version
  777. FROM qc_template
  778. WHERE template_name = #{templateName}
  779. AND site = #{site}
  780. AND template_version = #{templateVersion}
  781. </select>
  782. <delete id="delTemplateItem" parameterType="com.heai.modules.pms.data.QcTemplateData">
  783. delete qc_template_detailed
  784. WHERE template_id = #{templateId} and site = #{site} and bu_no = #{buNo}
  785. </delete>
  786. <!-- &lt;!&ndash; 修改项目明细的最大最小值 &ndash;&gt;-->
  787. <!-- <insert id="saveItemDetailed">-->
  788. <!-- INSERT INTO qc_template_detailed-->
  789. <!-- (site, bu_no, template_id, ItemNo, default_value, max_value, min_value)-->
  790. <!-- VALUES-->
  791. <!-- <foreach collection="list" item="item" separator=",">-->
  792. <!-- (#{item.site}, #{item.buNo}, #{item.templateId}, #{item.itemNo}, #{item.defaultValue}, #{item.maxValue,jdbcType=DECIMAL}, #{item.minValue,jdbcType=DECIMAL})-->
  793. <!-- </foreach>-->
  794. <!-- </insert>-->
  795. <!-- 修改项目明细的最大最小值 -->
  796. <insert id="saveItemDetailed">
  797. INSERT INTO qc_template_detailed
  798. (site, bu_no, template_id, ItemNo, default_value, max_value, min_value, order_id)
  799. VALUES
  800. (#{site}, #{buNo}, #{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL},#{orderId})
  801. </insert>
  802. <!-- 查询项目明细 -->
  803. <select id="selectItem" resultType="com.heai.modules.pms.data.QcTemplateData">
  804. SELECT ItemNo,
  805. ItemDesc,
  806. DefaultValue,
  807. ValueType,
  808. ValueType_DB,
  809. MaxValue,
  810. MinValue,
  811. ItemRemark,
  812. ItemType,
  813. site,
  814. bu_no
  815. FROM eam_properties_item
  816. WHERE ItemNo = #{itemNo} AND ItemType = #{itemType} AND bu_no = #{buNo}
  817. </select>
  818. <!-- ================================================= 样本量维护 ================================================= -->
  819. <!-- 查询样本量 -->
  820. <select id="samplingQtySearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  821. SELECT
  822. site,
  823. bu_no,
  824. sampling_qty_no,
  825. sampling_qty_desc,
  826. sampling_qty,
  827. sampling_qty_remark,
  828. sampling_qty_active,
  829. case when sampling_qty_active = 'Y' then '是' when sampling_qty_active = 'N' then '否' else '' end as samplingQtyActiveDesc,
  830. create_date,
  831. create_by,
  832. dbo.getOperatorDesc(site, create_by) as createByDesc,
  833. update_date,
  834. update_by,
  835. dbo.getOperatorDesc(site, update_by) as updateByDesc
  836. FROM qc_sampling_inspection_qty
  837. <where>
  838. <if test="query.site != null and query.site != ''">
  839. AND site = #{query.site}
  840. </if>
  841. <if test="query.samplingQtyNo != null and query.samplingQtyNo != ''">
  842. AND sampling_qty_no LIKE '%' + #{query.samplingQtyNo} + '%'
  843. </if>
  844. <if test="query.samplingQtyDesc != null and query.samplingQtyDesc != ''">
  845. AND sampling_qty_desc LIKE '%' + #{query.samplingQtyDesc} + '%'
  846. </if>
  847. <if test="query.samplingQty != null">
  848. AND sampling_qty = #{query.samplingQty,jdbcType=DECIMAL}
  849. </if>
  850. <if test="query.samplingQtyActive != null and query.samplingQtyActive != ''">
  851. AND sampling_qty_active = #{query.samplingQtyActive}
  852. </if>
  853. </where>
  854. </select>
  855. <!-- 新增样本量 -->
  856. <insert id="samplingQtySave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  857. 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)
  858. VALUES(#{site}, #{buNo}, #{samplingQtyNo}, #{samplingQty,jdbcType=DECIMAL}, #{samplingQtyRemark}, #{samplingQtyActive}, #{samplingQtyDesc}, getDate(), #{createBy}, getDate(), #{updateBy})
  859. </insert>
  860. <!-- 根据样本量字码查询样本量 -->
  861. <select id="selectSamplingQtyByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  862. SELECT
  863. site,
  864. bu_no,
  865. sampling_qty_no,
  866. sampling_qty_desc,
  867. sampling_qty,
  868. sampling_qty_remark,
  869. sampling_qty_active
  870. FROM qc_sampling_inspection_qty
  871. WHERE sampling_qty_desc = #{samplingQtyDesc} AND site = #{site} and bu_no = #{buNo}
  872. </select>
  873. <!-- 获取最大样本量编码 -->
  874. <select id="queryLastSamplingQtyNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  875. SELECT top 1 sampling_qty_no
  876. FROM qc_sampling_inspection_qty
  877. where site = #{site} and bu_no = #{buNo}
  878. ORDER BY sampling_qty_no Desc
  879. </select>
  880. <!-- 修改样本量 -->
  881. <update id="samplingQtyUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  882. UPDATE qc_sampling_inspection_qty
  883. SET sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  884. sampling_qty_desc = #{samplingQtyDesc},
  885. sampling_qty_remark = #{samplingQtyRemark},
  886. sampling_qty_active = #{samplingQtyActive},
  887. update_date = getDate(),
  888. update_by = #{updateBy}
  889. WHERE sampling_qty_no = #{samplingQtyNo} AND site = #{site} and bu_no = #{buNo}
  890. </update>
  891. <!-- 根据样本量编码查询矩阵 -->
  892. <select id="selectSamplingPlanBySamplingQtyNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  893. SELECT
  894. site,
  895. sampling_plan_no,
  896. sampling_qty_no,
  897. sampling_qty_rank_no,
  898. sampling_level_no,
  899. sampling_plan_active
  900. FROM qc_sampling_inspection_plan
  901. WHERE site = #{site} AND sampling_qty_no = #{samplingQtyNo} and bu_no = #{buNo}
  902. </select>
  903. <!-- 删除样本量 -->
  904. <delete id="samplingQtyDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
  905. DELETE FROM qc_sampling_inspection_qty
  906. WHERE site = #{site} AND sampling_qty_no = #{samplingQtyNo} AND sampling_qty_desc = #{samplingQtyDesc} and bu_no = #{buNo}
  907. </delete>
  908. <!-- ================================================= 批量级次维护 ================================================= -->
  909. <!-- 查询批量级次 -->
  910. <select id="samplingQtyRankSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  911. SELECT
  912. site,
  913. bu_no,
  914. sampling_qty_rank_no,
  915. sampling_qty_rank_desc,
  916. min_qty,
  917. max_qty,
  918. sampling_qty_rank_active,
  919. case when sampling_qty_rank_active = 'Y' then '是' when sampling_qty_rank_active = 'N' then '否' else '' end as samplingQtyRankActiveDesc,
  920. sampling_qty_rank_Remark,
  921. create_date,
  922. create_by,
  923. dbo.getOperatorDesc(site, create_by) as createByDesc,
  924. update_date,
  925. update_by,
  926. dbo.getOperatorDesc(site, update_by) as updateByDesc
  927. FROM qc_sampling_inspection_qty_rank
  928. <where>
  929. <if test="query.site != null and query.site != ''">
  930. AND site = #{query.site}
  931. </if>
  932. <if test="query.samplingQtyRankNo != null and query.samplingQtyRankNo != ''">
  933. AND sampling_qty_rank_no LIKE '%' + #{query.samplingQtyRankNo}+'%'
  934. </if>
  935. <if test="query.samplingQtyRankDesc != null and query.samplingQtyRankDesc != ''">
  936. AND sampling_qty_rank_desc LIKE '%' + #{query.samplingQtyRankDesc}+'%'
  937. </if>
  938. <if test="query.samplingQtyRankActive != null and query.samplingQtyRankActive != ''">
  939. AND sampling_qty_rank_active = #{query.samplingQtyRankActive}
  940. </if>
  941. </where>
  942. </select>
  943. <!-- 根据名称查询批量级次 -->
  944. <select id="selectSamplingQtyRankByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  945. SELECT
  946. site,
  947. bu_no,
  948. sampling_qty_rank_no,
  949. sampling_qty_rank_desc,
  950. min_qty,
  951. max_qty,
  952. sampling_qty_rank_active,
  953. sampling_qty_rank_Remark
  954. FROM qc_sampling_inspection_qty_rank
  955. WHERE sampling_qty_rank_desc = #{samplingQtyRankDesc} AND site = #{site} and bu_no = #{buNo}
  956. </select>
  957. <!-- 获取最大批量级次编码 -->
  958. <select id="queryLastSamplingQtyRankNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  959. SELECT top 1 sampling_qty_rank_no
  960. FROM qc_sampling_inspection_qty_rank
  961. where site = #{site} and bu_no = #{buNo}
  962. ORDER BY sampling_qty_rank_no Desc
  963. </select>
  964. <!-- 新增批量级次 -->
  965. <insert id="samplingQtyRankSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  966. 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)
  967. VALUES(#{site}, #{buNo}, #{samplingQtyRankNo}, #{samplingQtyRankDesc}, #{minQty,jdbcType=DECIMAL}, #{maxQty,jdbcType=DECIMAL}, #{samplingQtyRankRemark}, #{samplingQtyRankActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  968. </insert>
  969. <!-- 根据批量级次编码查询矩阵 -->
  970. <select id="selectSamplingPlanBySamplingQtyRankNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  971. SELECT
  972. site,
  973. bu_no,
  974. sampling_plan_no,
  975. sampling_qty_no,
  976. sampling_qty_rank_no,
  977. sampling_level_no,
  978. sampling_plan_active
  979. FROM qc_sampling_inspection_plan
  980. WHERE site = #{site} AND sampling_qty_rank_no = #{samplingQtyRankNo} and bu_no = #{buNo}
  981. </select>
  982. <!-- 修改批量级次 -->
  983. <update id="samplingQtyRankUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  984. UPDATE qc_sampling_inspection_qty_rank
  985. SET sampling_qty_rank_desc = #{samplingQtyRankDesc},
  986. min_qty = #{minQty,jdbcType=DECIMAL},
  987. max_qty = #{maxQty,jdbcType=DECIMAL},
  988. sampling_qty_rank_Remark = #{samplingQtyRankRemark},
  989. sampling_qty_rank_active = #{samplingQtyRankActive},
  990. update_date = getDate(),
  991. update_by = #{updateBy}
  992. WHERE sampling_qty_rank_no = #{samplingQtyRankNo} AND site = #{site} and bu_no = #{buNo}
  993. </update>
  994. <!-- 删除批量级次 -->
  995. <delete id="samplingQtyRankDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
  996. DELETE FROM qc_sampling_inspection_qty_rank
  997. WHERE site = #{site} and bu_no = #{buNo}
  998. AND sampling_qty_rank_no = #{samplingQtyRankNo}
  999. AND sampling_qty_rank_desc = #{samplingQtyRankDesc}
  1000. </delete>
  1001. <!-- ================================================= 检验等级维护 ================================================= -->
  1002. <!-- 查询检验等级 -->
  1003. <select id="samplingLevelSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData" resultType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  1004. SELECT
  1005. site,
  1006. bu_no,
  1007. sampling_level_no,
  1008. sampling_level_desc,
  1009. sampling_level_remark,
  1010. sampling_level_active,
  1011. case when sampling_level_active = 'Y' then '是' when sampling_level_active = 'N' then '否' else '' end as samplingLevelActiveDesc,
  1012. create_date,
  1013. create_by,
  1014. dbo.getOperatorDesc(site, create_by) as createByDesc,
  1015. update_date,
  1016. update_by,
  1017. dbo.getOperatorDesc(site, update_by) as updateByDesc
  1018. FROM qc_sampling_inspection_level
  1019. <where>
  1020. <if test="query.site != null and query.site != ''">
  1021. AND site = #{query.site}
  1022. </if>
  1023. <if test="query.samplingLevelNo != null and query.samplingLevelNo != ''">
  1024. AND sampling_level_no LIKE '%' + #{query.samplingLevelNo}+'%'
  1025. </if>
  1026. <if test="query.samplingLevelDesc != null and query.samplingLevelDesc != ''">
  1027. AND sampling_level_desc LIKE '%' + #{query.samplingLevelDesc}+'%'
  1028. </if>
  1029. <if test="query.samplingLevelActive != null and query.samplingLevelActive != ''">
  1030. AND sampling_level_active = #{query.samplingLevelActive}
  1031. </if>
  1032. </where>
  1033. </select>
  1034. <!-- 根据名称查询检验等级 -->
  1035. <select id="selectSamplingLevelByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData" resultType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  1036. SELECT
  1037. site,
  1038. bu_no,
  1039. sampling_level_no,
  1040. sampling_level_desc,
  1041. sampling_level_remark,
  1042. sampling_level_active
  1043. FROM qc_sampling_inspection_level
  1044. WHERE sampling_level_desc = #{samplingLevelDesc} AND site = #{site} and bu_no = #{buNo}
  1045. </select>
  1046. <!-- 获取最大检验等级编码 -->
  1047. <select id="queryLastSamplingLevelNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  1048. SELECT top 1 sampling_level_no
  1049. FROM qc_sampling_inspection_level
  1050. where site = #{site} and bu_no = #{buNo}
  1051. ORDER BY sampling_level_no Desc
  1052. </select>
  1053. <!-- 新增检验等级 -->
  1054. <insert id="samplingLevelSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  1055. 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)
  1056. VALUES (#{site}, #{buNo}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingLevelRemark}, #{samplingLevelActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  1057. </insert>
  1058. <!-- 根据检验等级编码查询矩阵 -->
  1059. <select id="selectSamplingPlanBySamplingLevelNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  1060. SELECT
  1061. site,
  1062. bu_no,
  1063. sampling_plan_no,
  1064. sampling_qty_no,
  1065. sampling_qty_rank_no,
  1066. sampling_level_no,
  1067. sampling_plan_active
  1068. FROM qc_sampling_inspection_plan
  1069. WHERE site = #{site} and bu_no = #{buNo}
  1070. AND sampling_level_no = #{samplingLevelNo}
  1071. </select>
  1072. <!-- 修改检验等级 -->
  1073. <update id="samplingLevelUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  1074. UPDATE qc_sampling_inspection_level
  1075. SET sampling_level_desc = #{samplingLevelDesc},
  1076. sampling_level_remark = #{samplingLevelRemark},
  1077. sampling_level_active = #{samplingLevelActive},
  1078. update_date = getDate(),
  1079. update_by = #{updateBy}
  1080. WHERE sampling_level_no = #{samplingLevelNo}
  1081. AND site = #{site} and bu_no = #{buNo}
  1082. </update>
  1083. <!-- 删除检验等级 -->
  1084. <delete id="samplingLevelDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
  1085. DELETE FROM qc_sampling_inspection_level
  1086. WHERE site = #{site} and bu_no = #{buNo}
  1087. AND sampling_level_no = #{samplingLevelNo}
  1088. AND sampling_level_desc = #{samplingLevelDesc}
  1089. </delete>
  1090. <!-- ================================================= 物料属性设置维护 ================================================= -->
  1091. <!-- 查询物料属性 -->
  1092. <select id="qcPartAttributeSearch" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  1093. SELECT
  1094. qa.site,
  1095. qa.bu_no,
  1096. p.PartNo as partNo,
  1097. p.PartDescription as partDesc,
  1098. p.cinv_source_code as cinvSourceCode,
  1099. p.sku as sku,
  1100. p.FamilyID,
  1101. p.invtype as familyName,
  1102. p.spec,
  1103. p.umid,
  1104. qa.supplier_no,
  1105. dbo.qc_get_supplier_name(qa.site, qa.supplier_no) as supplierDesc,
  1106. qa.attribute_remark,
  1107. qa.create_time,
  1108. qa.create_by,
  1109. dbo.getOperatorDesc(qa.site, qa.create_by) as createByDesc,
  1110. qa.attribute_type,
  1111. qa.update_date,
  1112. qa.update_by,
  1113. dbo.getOperatorDesc(qa.site, qa.update_by) as updateByDesc,
  1114. qa.exempt_inspection,
  1115. qa.iqc_exempt as iqcExempt,
  1116. qa.fai_exempt as faiExempt,
  1117. qa.ipqc_exempt as ipqcExempt,
  1118. qa.pqc_exempt as pqcExempt,
  1119. qa.fqc_exempt as fqcExempt,
  1120. qa.oqc_exempt as oqcExempt,
  1121. qa.sqc_exempt as sqcExempt,
  1122. qa.First_IPQC_Patrol_time as firstIPQCPatrolTime,
  1123. qa.Last_IPQC_Patrol_time as lastIPQCPatrolTime,
  1124. qa.Cycle_IPQC_Patrol_time as cycleIPQCPatrolTime,
  1125. qa.defaultValue,
  1126. qa.standardValue,
  1127. qa.maxValue,
  1128. qa.minValue,
  1129. ISNULL(T.iqc_flag, '未维护') AS iqcFlag,
  1130. ISNULL(T.ipqc_flag, '未维护') AS ipqcFlag,
  1131. ISNULL(T.fqc_flag, '未维护') AS fqcFlag,
  1132. ISNULL(T.oqc_flag, '未维护') AS oqcFlag,
  1133. ISNULL(T.sqc_flag, '未维护') AS sqcFlag
  1134. FROM qc_part_attribute qa
  1135. INNER JOIN part p on qa.attribute_no = p.PartNo and qa.site = p.site
  1136. LEFT JOIN um AS e ON p.UMID = e.UMID and qa.site = e.site
  1137. LEFT JOIN (
  1138. SELECT
  1139. site,
  1140. attribute_no,
  1141. MAX(CASE WHEN inspection_type_no = '101' THEN '已维护' ELSE '未维护' END) AS ipqc_flag,
  1142. MAX(CASE WHEN inspection_type_no = '105' THEN '已维护' ELSE '未维护' END) AS iqc_flag,
  1143. MAX(CASE WHEN inspection_type_no = '107' THEN '已维护' ELSE '未维护' END) AS fqc_flag,
  1144. MAX(CASE WHEN inspection_type_no = '109' THEN '已维护' ELSE '未维护' END) AS oqc_flag,
  1145. MAX(CASE WHEN inspection_type_no = '110' THEN '已维护' ELSE '未维护' END) AS sqc_flag
  1146. FROM qc_attribute_template
  1147. WHERE inspection_type_no IN ('101', '105', '107', '109', '110')
  1148. GROUP BY site, attribute_no
  1149. ) AS T ON p.site = T.site AND p.partNo = T.attribute_no
  1150. <where>
  1151. and qa.attribute_type = #{query.attributeType}
  1152. <if test = "query.partNo != null and query.partNo != ''">
  1153. AND qa.attribute_no LIKE '%' + #{query.partNo}+'%'
  1154. </if>
  1155. <if test = "query.partDesc != null and query.partDesc != ''">
  1156. AND p.PartDescription LIKE '%' + #{query.partDesc}+'%'
  1157. </if>
  1158. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1159. AND p.cinv_source_code LIKE '%' + #{query.cinvSourceCode}+'%'
  1160. </if>
  1161. <if test = "query.sku != null and query.sku != ''">
  1162. AND p.sku LIKE '%' + #{query.sku}+'%'
  1163. </if>
  1164. <if test = "query.familyName != null and query.familyName != ''">
  1165. AND p.invtype LIKE '%' + #{query.familyName}+'%'
  1166. </if>
  1167. <if test="query.iqcFlag != null and query.iqcFlag != ''">
  1168. AND ISNULL(T.iqc_flag, '未维护') = #{query.iqcFlag}
  1169. </if>
  1170. <if test="query.ipqcFlag != null and query.ipqcFlag != ''">
  1171. AND ISNULL(T.ipqc_flag, '未维护') = #{query.ipqcFlag}
  1172. </if>
  1173. <if test="query.fqcFlag != null and query.fqcFlag != ''">
  1174. AND ISNULL(T.fqc_flag, '未维护') = #{query.fqcFlag}
  1175. </if>
  1176. <if test="query.oqcFlag != null and query.oqcFlag != ''">
  1177. AND ISNULL(T.oqc_flag, '未维护') = #{query.oqcFlag}
  1178. </if>
  1179. <if test="query.sqcFlag != null and query.sqcFlag != ''">
  1180. AND ISNULL(T.sqc_flag, '未维护') = #{query.sqcFlag}
  1181. </if>
  1182. </where>
  1183. </select>
  1184. <!-- 查询是否已有该物料属性 -->
  1185. <select id="selectPartAttributeByNo" resultType="com.heai.modules.pms.data.QcPartAttributeData" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1186. SELECT
  1187. attribute_no,
  1188. supplier_no,
  1189. attribute_remark,
  1190. attribute_type
  1191. FROM qc_part_attribute
  1192. WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1193. </select>
  1194. <!-- 新增物料属性 -->
  1195. <insert id="qcPartAttributeSave" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1196. INSERT INTO qc_part_attribute (attribute_no, supplier_no, attribute_remark, create_time, create_by, attribute_type, site, exempt_inspection, iqc_exempt, fai_exempt, ipqc_exempt, pqc_exempt, fqc_exempt, oqc_exempt, sqc_exempt, bu_no,First_IPQC_Patrol_time,Last_IPQC_Patrol_time,Cycle_IPQC_Patrol_time,defaultValue,standardValue,maxValue,minValue)
  1197. VALUES(#{partNo}, #{supplierNo}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType}, #{site}, #{exemptInspection}, #{iqcExempt}, #{faiExempt}, #{ipqcExempt}, #{pqcExempt}, #{fqcExempt}, #{oqcExempt}, #{sqcExempt}, #{buNo},#{firstIPQCPatrolTime},#{lastIPQCPatrolTime},#{cycleIPQCPatrolTime},#{defaultValue},#{standardValue},#{maxValue},#{minValue})
  1198. </insert>
  1199. <!-- 物料属性修改 -->
  1200. <update id="qcPartAttributeEdit" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1201. UPDATE qc_part_attribute
  1202. SET attribute_remark = #{attributeRemark},
  1203. exempt_inspection = #{exemptInspection},
  1204. iqc_exempt = #{iqcExempt},
  1205. fai_exempt = #{faiExempt},
  1206. ipqc_exempt = #{ipqcExempt},
  1207. pqc_exempt = #{pqcExempt},
  1208. fqc_exempt = #{fqcExempt},
  1209. oqc_exempt = #{oqcExempt},
  1210. sqc_exempt = #{sqcExempt},
  1211. update_date = getDate(),
  1212. update_by = #{updateBy},
  1213. defaultValue = #{defaultValue},
  1214. standardValue = #{standardValue},
  1215. maxValue = #{maxValue},
  1216. minValue = #{minValue},
  1217. First_IPQC_Patrol_time = #{firstIPQCPatrolTime},
  1218. Last_IPQC_Patrol_time = #{lastIPQCPatrolTime},
  1219. Cycle_IPQC_Patrol_time = #{cycleIPQCPatrolTime}
  1220. WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1221. </update>
  1222. <update id="syncPartExemptFlagsFromQcPartAttribute" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1223. UPDATE part
  1224. SET iqc_exempt = #{iqcExempt},
  1225. fai_exempt = #{faiExempt},
  1226. ipqc_exempt = #{ipqcExempt},
  1227. pqc_exempt = #{pqcExempt},
  1228. fqc_exempt = #{fqcExempt},
  1229. sqc_exempt = #{sqcExempt}
  1230. WHERE site = #{site} AND partNo = #{partNo}
  1231. </update>
  1232. <update id="resetPartExemptFlags">
  1233. UPDATE part
  1234. SET iqc_exempt = 'N',
  1235. fai_exempt = 'N',
  1236. ipqc_exempt = 'N',
  1237. pqc_exempt = 'N',
  1238. fqc_exempt = 'N',
  1239. sqc_exempt = 'N'
  1240. WHERE site = #{site} AND partNo = #{partNo}
  1241. </update>
  1242. <!-- 删除物料属性 -->
  1243. <delete id="qcPartAttributeDelete" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1244. DELETE FROM qc_part_attribute
  1245. WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{partNo} and attribute_type = #{attributeType}
  1246. </delete>
  1247. <!-- 删除物料属性模板 -->
  1248. <delete id="deletePartAttributeTemplate" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1249. DELETE FROM qc_attribute_template
  1250. WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{partNo} and attribute_type = #{attributeType}
  1251. </delete>
  1252. <!-- 查询类别模板 -->
  1253. <select id="searchPartAttributeDetails" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1254. SELECT
  1255. qat.site,
  1256. qat.bu_no,
  1257. qpa.attribute_no,
  1258. qpa.attribute_type,
  1259. qt.template_id,
  1260. qt.template_name,
  1261. qt.template_remark,
  1262. qt.template_version,
  1263. qat.sampling_programme_no,
  1264. qsip.sampling_programme_desc,
  1265. qat.AQL,
  1266. qat.AC,
  1267. qat.RE,
  1268. qt.inspection_type_no,
  1269. qit.inspection_type_name,
  1270. qt.default_sampling_quantity,
  1271. qt.default_sampling_proportion,
  1272. qat.sampling_level_no,
  1273. qsil.sampling_level_desc,
  1274. qat.inspection_cycle,
  1275. qat.operation,
  1276. qat.manufacturer_id,
  1277. qat.ipqc_inspection_method,
  1278. dbo.qc_get_supplier_name(qat.site, qat.manufacturer_id) as manufacturerName,
  1279. qat.resource_id,
  1280. qat.customer_id as customerID,
  1281. cu.CustomerName as customerName
  1282. FROM qc_attribute_template as qat
  1283. 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
  1284. 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
  1285. 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
  1286. LEFT JOIN qc_inspection_type as qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  1287. 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
  1288. LEFT JOIN Customer as cu ON qat.site = cu.site AND qat.customer_id = cu.CustomerID
  1289. <where>
  1290. qat.site = #{site} and qpa.attribute_type = #{attributeType} and qpa.attribute_no = #{attributeNo} and qat.bu_no = #{buNo}
  1291. <if test="inspectionTypeNo !=null and inspectionTypeNo != ''">
  1292. and qt.inspection_type_no = #{inspectionTypeNo}
  1293. </if>
  1294. <if test="operation !=null and operation != ''">
  1295. and qat.operation = #{operation}
  1296. </if>
  1297. </where>
  1298. </select>
  1299. <!-- 物料属性模板查重 -->
  1300. <select id="searchPartRepeat" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1301. SELECT
  1302. attribute_no,
  1303. template_id
  1304. FROM qc_attribute_template
  1305. WHERE attribute_no = #{attributeNo}
  1306. AND template_id = #{templateId}
  1307. AND attribute_type = #{attributeType}
  1308. AND special_field = #{specialField}
  1309. </select>
  1310. <!-- 新增物料属性模板 -->
  1311. <insert id="savePartAttributeDetails" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1312. INSERT INTO qc_attribute_template
  1313. (attribute_no, template_id, sampling_level_no, inspection_cycle, sampling_programme_no, AQL, AC, RE,
  1314. attribute_type, operation, manufacturer_id, resource_id, site, bu_no, customer_id, inspection_type_no)
  1315. VALUES
  1316. (#{attributeNo}, #{templateId}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{samplingProgrammeNo}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL},
  1317. #{attributeType}, #{operation}, #{manufacturerID}, #{resourceID}, #{site}, #{buNo}, #{customerID}, #{inspectionTypeNo})
  1318. </insert>
  1319. <!-- 可选模板 -->
  1320. <select id="getTemplateList" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1321. SELECT
  1322. qt.template_id,
  1323. qt.template_name,
  1324. qit.inspection_type_name
  1325. FROM qc_template as qt
  1326. LEFT JOIN qc_attribute_template as qat ON qat.template_id = qt.template_id and qat.attribute_no = #{attributeNo}
  1327. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no
  1328. <where>
  1329. qt.site = #{site}
  1330. AND qat.attribute_no is null
  1331. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  1332. AND qt.inspection_type_no = #{inspectionTypeNo}
  1333. </if>
  1334. <if test = "templateId != null and templateId != ''">
  1335. AND qt.template_id LIKE '%' + #{templateId}+'%'
  1336. </if>
  1337. <if test = "templateName != null and templateName != ''">
  1338. AND qt.template_name LIKE '%' + #{templateName}+'%'
  1339. </if>
  1340. </where>
  1341. </select>
  1342. <!-- 已有模板 -->
  1343. <select id="getPartTemplateList" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1344. SELECT
  1345. qt.template_id,
  1346. qt.template_name,
  1347. qit.inspection_type_name,
  1348. qat.operation,
  1349. qat.manufacturer_id,
  1350. vs.supplierName as manufacturerName,
  1351. qat.resource_id,
  1352. qat.customer_id as customerID,
  1353. cu.CustomerName as customerName
  1354. FROM qc_attribute_template as qat
  1355. 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
  1356. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  1357. LEFT JOIN view_Supplier as vs ON qat.site = vs.site AND qat.manufacturer_id = vs.SupplierID
  1358. LEFT JOIN Customer as cu ON qat.site = cu.site AND qat.customer_id = cu.CustomerID
  1359. WHERE qt.site = #{site} AND qat.attribute_no = #{attributeNo} and qt.bu_no = #{buNo}
  1360. </select>
  1361. <select id="countPartTemplateByTemplateId" resultType="java.lang.Integer" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1362. SELECT COUNT(1)
  1363. FROM qc_attribute_template
  1364. <where>
  1365. site = #{site}
  1366. and bu_no = #{buNo}
  1367. and attribute_no = #{attributeNo}
  1368. and attribute_type = #{attributeType}
  1369. and template_id = #{templateId}
  1370. </where>
  1371. </select>
  1372. <!-- 物料可选模板 -->
  1373. <select id="getTemplateListAll" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1374. SELECT
  1375. qt.template_id,
  1376. qt.template_name,
  1377. qit.inspection_type_name
  1378. FROM qc_template as qt
  1379. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  1380. <where>
  1381. qt.site = #{site} and qt.bu_no = #{buNo}
  1382. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  1383. AND qt.inspection_type_no = #{inspectionTypeNo}
  1384. </if>
  1385. <if test = "templateId != null and templateId != ''">
  1386. AND qt.template_id LIKE '%' + #{templateId}+'%'
  1387. </if>
  1388. <if test = "templateName != null and templateName != ''">
  1389. AND qt.template_name LIKE '%' + #{templateName}+'%'
  1390. </if>
  1391. </where>
  1392. </select>
  1393. <!-- 删除物料属性模板 -->
  1394. <delete id="deletePartAttributeDetails" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1395. DELETE FROM qc_attribute_template
  1396. <where>
  1397. site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and template_id = #{templateId} and attribute_type = #{attributeType}
  1398. <if test = "operation != null and operation != ''">
  1399. and operation = #{operation}
  1400. </if>
  1401. <if test = "resourceID != null and resourceID != ''">
  1402. and resource_id = #{resourceID}
  1403. </if>
  1404. <if test = "manufacturerID != null and manufacturerID != ''">
  1405. and manufacturer_id = #{manufacturerID}
  1406. </if>
  1407. <if test = "customerID != null and customerID != ''">
  1408. and customer_id = #{customerID}
  1409. </if>
  1410. </where>
  1411. </delete>
  1412. <!-- 查询模板的基础数据 -->
  1413. <select id="selectTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1414. SELECT
  1415. template_id,
  1416. template_name,
  1417. sampling_programme_no,
  1418. sampling_level_no,
  1419. inspection_cycle,
  1420. AQL,
  1421. AC,
  1422. RE,
  1423. inspection_type_no
  1424. FROM qc_template
  1425. WHERE site = #{site} AND template_id = #{templateId} and bu_no = #{buNo}
  1426. </select>
  1427. <!-- 新增物料属性模板详情 -->
  1428. <update id="saveAttributeDetailed" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1429. UPDATE qc_attribute_template
  1430. SET sampling_level_no = #{samplingLevelNo},
  1431. inspection_cycle = #{inspectionCycle,jdbcType=DECIMAL},
  1432. sampling_programme_no = #{samplingProgrammeNo},
  1433. AQL = #{aql,jdbcType=DECIMAL},
  1434. AC = #{ac,jdbcType=DECIMAL},
  1435. ipqc_inspection_method = #{ipqcInspectionMethod},
  1436. RE = #{re,jdbcType=DECIMAL}
  1437. <where>
  1438. site = #{site} and attribute_no = #{attributeNo} AND template_id = #{templateId} AND attribute_type = #{attributeType} and bu_no = #{buNo}
  1439. <if test = "operation != null and operation != ''">
  1440. AND operation = #{operation}
  1441. </if>
  1442. <if test = "resourceID != null and resourceID != ''">
  1443. AND resource_id = #{resourceID}
  1444. </if>
  1445. <if test = "manufacturerID != null and manufacturerID != ''">
  1446. AND manufacturer_id = #{manufacturerID}
  1447. </if>
  1448. </where>
  1449. </update>
  1450. <!-- 更新物料属性修改时间 -->
  1451. <update id="updatePartAttributeTime" parameterType="com.heai.modules.pms.data.QcTemplateData">
  1452. UPDATE qc_part_attribute
  1453. SET update_date = getDate(),
  1454. update_by = #{updateBy}
  1455. WHERE site = #{site} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1456. </update>
  1457. <!-- ================================================= 类别属性设置维护 ================================================= -->
  1458. <!-- 查询类别属性 -->
  1459. <select id="qcFamilyAttributeSearch" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  1460. SELECT
  1461. qa.site,
  1462. qa.bu_no,
  1463. qa.attribute_no as familyID,
  1464. pf.FamilyName,
  1465. qa.supplier_no,
  1466. qa.attribute_remark,
  1467. qa.create_time,
  1468. qa.create_by,
  1469. qa.update_date,
  1470. qa.update_by,
  1471. qa.attribute_type
  1472. FROM qc_part_attribute as qa
  1473. LEFT JOIN PartFamily as pf on qa.attribute_no = pf.FamilyID and qa.site = pf.site
  1474. <where>
  1475. and qa.attribute_type = #{query.attributeType}
  1476. <if test="query.site != null and query.site != ''">
  1477. AND site = #{query.site}
  1478. </if>
  1479. <if test = "query.familyID != null and query.familyID != ''">
  1480. AND qa.attribute_no LIKE '%' + #{query.familyID}+'%'
  1481. </if>
  1482. <if test = "query.familyName != null and query.familyName != ''">
  1483. AND pf.FamilyName LIKE '%' + #{query.familyName}+'%'
  1484. </if>
  1485. </where>
  1486. </select>
  1487. <!-- 新增类别属性 -->
  1488. <insert id="qcFamilyAttributeSave" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1489. INSERT INTO qc_part_attribute (attribute_no, attribute_remark, create_time, create_by, attribute_type, site, bu_no)
  1490. VALUES(#{familyID}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType}, #{site}, #{buNo})
  1491. </insert>
  1492. <!-- 删除分类属性 -->
  1493. <delete id="qcFamilyAttributeDelete" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1494. DELETE FROM qc_part_attribute
  1495. WHERE site = #{site} and attribute_no = #{familyID} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1496. </delete>
  1497. <!-- 删除分类属性模板 -->
  1498. <delete id="deleteFamilyAttributeTemplate" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
  1499. DELETE FROM qc_attribute_template
  1500. WHERE site = #{site} and attribute_no = #{familyID} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1501. </delete>
  1502. <!-- ================================================= 抽样方案维护 ================================================= -->
  1503. <!-- 查询类别属性 -->
  1504. <select id="samplingProgrammeSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1505. SELECT
  1506. site,
  1507. bu_no,
  1508. sampling_programme_no,
  1509. sampling_programme_desc,
  1510. sampling_programme_code,
  1511. create_time,
  1512. create_by,
  1513. dbo.getOperatorDesc(site, create_by) as createByDesc,
  1514. update_date,
  1515. update_by,
  1516. dbo.getOperatorDesc(site, update_by) as updateByDesc
  1517. FROM qc_sampling_inspection_programme
  1518. <where>
  1519. <if test="query.site != null and query.site != ''">
  1520. AND site = #{query.site}
  1521. </if>
  1522. <if test = "query.samplingProgrammeNo != null and query.samplingProgrammeNo != ''">
  1523. AND sampling_programme_no LIKE '%' + #{query.samplingProgrammeNo}+'%'
  1524. </if>
  1525. <if test = "query.samplingProgrammeCode != null and query.samplingProgrammeCode != ''">
  1526. AND sampling_programme_code LIKE '%' + #{query.samplingProgrammeCode}+'%'
  1527. </if>
  1528. <if test = "query.samplingProgrammeDesc != null and query.samplingProgrammeDesc != ''">
  1529. AND sampling_programme_desc LIKE '%' + #{query.samplingProgrammeDesc}+'%'
  1530. </if>
  1531. </where>
  1532. </select>
  1533. <!-- 新增抽样方案 -->
  1534. <insert id="samplingProgrammeSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1535. 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)
  1536. VALUES(#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{samplingProgrammeCode}, getDate(), #{createBy}, getDate(), #{updateBy})
  1537. </insert>
  1538. <!-- 删除抽样方案 -->
  1539. <delete id="samplingProgrammeDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1540. DELETE FROM qc_sampling_inspection_programme
  1541. WHERE site = #{site} and bu_no = #{buNo}
  1542. AND sampling_programme_no = #{samplingProgrammeNo}
  1543. </delete>
  1544. <!-- 删除抽样方案中的矩阵 -->
  1545. <delete id="deletePlanByProgrammeNo" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1546. DELETE FROM qc_programme_plan
  1547. WHERE sampling_programme_no = #{samplingProgrammeNo} and site = #{site} and bu_no = #{buNo}
  1548. </delete>
  1549. <!-- 根据名称查询抽样方案 -->
  1550. <select id="selectSamplingProgrammeByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1551. SELECT
  1552. site,
  1553. bu_no,
  1554. sampling_programme_no,
  1555. sampling_programme_desc
  1556. FROM qc_sampling_inspection_programme
  1557. WHERE sampling_programme_desc = #{samplingProgrammeDesc} AND site = #{site} and bu_no = #{buNo}
  1558. </select>
  1559. <!-- 获取最大抽样方案编码 -->
  1560. <select id="queryLastSamplingProgrammeNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1561. SELECT top 1 sampling_programme_no
  1562. FROM qc_sampling_inspection_programme
  1563. where site = #{site} and bu_no = #{buNo}
  1564. ORDER BY sampling_programme_no Desc
  1565. </select>
  1566. <!-- 搜索抽样方案中的矩阵 -->
  1567. <select id="searchSamplingProgrammeDetails" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1568. SELECT
  1569. qpp.site,
  1570. qpp.bu_no,
  1571. qpp.sampling_programme_no,
  1572. qsip.sampling_plan_no,
  1573. qsip.sampling_plan_Desc,
  1574. qsip.sampling_qty_no,
  1575. qsiq.sampling_qty_desc,
  1576. qsiq.sampling_qty,
  1577. qsip.sampling_qty_rank_no,
  1578. qsiqr.sampling_qty_rank_desc,
  1579. qsiqr.min_qty,
  1580. qsiqr.max_qty,
  1581. qsip.sampling_level_no,
  1582. qsil.sampling_level_desc,
  1583. qsip.sampling_plan_active
  1584. FROM qc_programme_plan as qpp
  1585. 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
  1586. 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
  1587. 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
  1588. 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
  1589. WHERE qpp.sampling_programme_no = #{samplingProgrammeNo} and qpp.site = #{site} and qpp.bu_no = #{buNo}
  1590. </select>
  1591. <!-- 获取该方案不包含的矩阵 -->
  1592. <select id="getPlanList" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1593. SELECT
  1594. qip.sampling_plan_no,
  1595. qip.sampling_plan_desc
  1596. FROM qc_sampling_inspection_plan as qip
  1597. 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
  1598. WHERE qip.site = #{site} and qip.bu_no = #{buNo} AND qpp.sampling_programme_no is null
  1599. </select>
  1600. <!-- 获取当前方案所包含的矩阵 -->
  1601. <select id="getProgrammePlanList" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1602. SELECT
  1603. qip.sampling_plan_no,
  1604. qip.sampling_plan_desc
  1605. FROM qc_programme_plan as qpp
  1606. 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
  1607. WHERE qip.site = #{site} and qip.bu_no = #{buNo} AND qpp.sampling_programme_no = #{samplingProgrammeNo}
  1608. </select>
  1609. <!-- 查重 -->
  1610. <select id="searchPlanRepeat" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1611. SELECT
  1612. sampling_plan_no,
  1613. sampling_programme_no
  1614. FROM qc_programme_plan
  1615. WHERE sampling_programme_no = #{samplingProgrammeNo} AND sampling_plan_no = #{samplingPlanNo} and site = #{site} and bu_no = #{buNo}
  1616. </select>
  1617. <!-- 新增抽样方案中的矩阵 -->
  1618. <insert id="saveSamplingProgrammeDetails" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1619. INSERT INTO qc_programme_plan (site, bu_no, sampling_programme_no, sampling_plan_no)
  1620. VALUES (#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingPlanNo})
  1621. </insert>
  1622. <!-- 更新抽样方案修改时间 -->
  1623. <update id="updateSamplingInspectionProgrammeDate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1624. UPDATE qc_sampling_inspection_programme
  1625. SET update_date = getDate(),
  1626. update_by = #{updateBy}
  1627. WHERE site = #{site} AND sampling_programme_no = #{samplingProgrammeNo} and bu_no = #{buNo}
  1628. </update>
  1629. <!-- 删除抽样方案中的矩阵 -->
  1630. <delete id="deleteSamplingProgrammeDetails" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
  1631. DELETE FROM qc_programme_plan
  1632. WHERE sampling_programme_no = #{samplingProgrammeNo} and sampling_plan_no = #{samplingPlanNo} and site = #{site} and bu_no = #{buNo}
  1633. </delete>
  1634. <!-- ================================================= FAI检验维护 ================================================= -->
  1635. <!-- 查询FAI基础数据 -->
  1636. <select id="selectFAIBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1637. SELECT
  1638. top 1
  1639. a.orderno as orderNo,
  1640. j.part_no,
  1641. j.part_desc,
  1642. c.operation_desc,
  1643. b.approve_qty as rollQty,
  1644. a.s_resourceid as resourceId,
  1645. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  1646. a.itemno as itemNo,
  1647. a.id as ssrId
  1648. FROM soscheduledrouting as a
  1649. LEFT JOIN sfdc as b
  1650. ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
  1651. select min(sfdc.id)
  1652. from sfdc
  1653. group by sfdc.assjob_seq_no, site
  1654. )
  1655. LEFT JOIN so_routing as c
  1656. ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
  1657. LEFT JOIN part j
  1658. ON a.site = j.site and a.part_no = j.part_no
  1659. WHERE a.itemno = '10'
  1660. AND a.id not in (select ssr_id from qc_fai_record)
  1661. AND b.approve_qty is not null
  1662. ORDER BY a.id desc
  1663. </select>
  1664. <!-- 获取该物料属性下维护的iqc -->
  1665. <select id="selectPartAttributeByPartNo" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1666. SELECT
  1667. qat.site,
  1668. qat.bu_no,
  1669. qat.attribute_no,
  1670. qat.template_id,
  1671. qat.sampling_level_no,
  1672. qsil.sampling_level_desc,
  1673. qat.inspection_cycle,
  1674. qat.sampling_programme_no,
  1675. qsip.sampling_programme_desc,
  1676. qat.AQL,
  1677. qat.AC,
  1678. qat.RE,
  1679. qt.default_sampling_quantity,
  1680. qt.default_sampling_proportion
  1681. FROM qc_attribute_template as qat
  1682. 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
  1683. 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
  1684. 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
  1685. WHERE qat.site = #{site} and qat.bu_no = #{buNo}
  1686. AND qat.attribute_no = #{partNo}
  1687. AND qat.attribute_type = #{attributeType}
  1688. AND qt.inspection_type_no = #{inspectionTypeNo}
  1689. AND qat.manufacturer_id = #{supplierNo}
  1690. </select>
  1691. <!-- 获取该物料属性下维护的ipqc -->
  1692. <select id="selectPartAttributeByOperationAndResource" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1693. SELECT
  1694. qat.site,
  1695. qat.bu_no,
  1696. qat.attribute_no,
  1697. qat.template_id,
  1698. qat.sampling_level_no,
  1699. qsil.sampling_level_desc,
  1700. qat.inspection_cycle,
  1701. qat.sampling_programme_no,
  1702. qsip.sampling_programme_desc,
  1703. qat.AQL,
  1704. qat.AC,
  1705. qat.RE,
  1706. qt.default_sampling_quantity,
  1707. qt.default_sampling_proportion
  1708. FROM qc_attribute_template as qat
  1709. 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
  1710. 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
  1711. 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
  1712. WHERE qat.site = #{site} and qat.bu_no = #{buNo}
  1713. AND qat.attribute_no = #{partNo}
  1714. AND qat.attribute_type = #{attributeType1}
  1715. AND qt.inspection_type_no = #{inspectionTypeNo}
  1716. AND qat.operation = #{operationDesc}
  1717. AND qat.resource_id = #{resourceId}
  1718. </select>
  1719. <!-- 获取模板详情 -->
  1720. <select id="selectTemplate" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  1721. SELECT
  1722. qt.site,
  1723. qt.bu_no,
  1724. qt.template_id,
  1725. qt.sampling_level_no,
  1726. qsil.sampling_level_desc,
  1727. qt.inspection_cycle,
  1728. qt.sampling_programme_no,
  1729. qsip.sampling_programme_desc,
  1730. qt.AQL,
  1731. qt.AC,
  1732. qt.RE,
  1733. qt.default_sampling_quantity,
  1734. qt.default_sampling_proportion
  1735. FROM qc_template as qt
  1736. 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
  1737. 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
  1738. WHERE qt.site = #{site} and qt.template_id = #{templateId} and qt.bu_no = #{buNo}
  1739. </select>
  1740. <select id="selectAttrTemplate" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1741. SELECT B.TransNo,B.Site,
  1742. B.ItemNo,
  1743. B.FromOpsID,
  1744. B.FromWorkCenterNo,
  1745. B.ToWorkCenterNo,
  1746. B.ToOpsID,
  1747. B.OrderNo,
  1748. B.PartNo,
  1749. B.TransQty,
  1750. B.ConfirmQty,
  1751. B.TaskNo,
  1752. B.InsStatus,
  1753. B.ToConfirmQty,
  1754. B.seqNo,
  1755. A.FromProLineNo,
  1756. A.ToProLineNo,
  1757. A.ToWarehouseID,
  1758. A.FromEnteredby,
  1759. A.FromEnteredDate,
  1760. A.TransDate,
  1761. A.ToReceiver,
  1762. A.FromReceiver,
  1763. A.FromRemark,
  1764. A.ToRemark,
  1765. A.ConfirmedFlag,
  1766. A.ToConfirmedBy,
  1767. A.ToEnteredby,
  1768. A.ToEnteredDate,
  1769. A.LatestUpdatedBy,
  1770. A.LatestUpdatedDate,
  1771. A.RecordVersion,
  1772. A.Status,
  1773. A.ToTypeFlag_DB,
  1774. A.ToTypeFlag,
  1775. A.ConfirmedTransNo,
  1776. A.need_inspect_flag,
  1777. A.inspected_flag,
  1778. A.inspect_result,
  1779. A.inspect_remark,
  1780. A.NeedReceiveFlag
  1781. FROM SOOpsTransferHeader A
  1782. INNER JOIN SOOpsTransferDetail B ON A.Site = B.SITE AND A.TransNo = B.TransNo
  1783. INNER JOIN qc_attribute_template e on D.SITE = B.site and D.attribute_no = B.PartNo
  1784. WHERE A.SITE = #{site} AND E.bu_no = #{buNo} AND B.TransNo = #{refInfo1} AND B.ItemNo = #{refInfo2} AND E.inspection_type_no =#{inspectionTypeNo}
  1785. <if test="operation != null and operation != ''">
  1786. AND E.operation = #{operation}
  1787. </if>
  1788. <if test="resourceId != null and resourceId != ''">
  1789. AND E.resource_id = #{resourceId}
  1790. </if>
  1791. </select>
  1792. <select id="selectAttrTemplateByPartNo" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1793. SELECT
  1794. B.TransNo,B.Site,
  1795. B.ItemNo,
  1796. B.FromOpsID,
  1797. B.FromWorkCenterNo,
  1798. B.ToWorkCenterNo,
  1799. B.ToOpsID,
  1800. B.OrderNo,
  1801. B.PartNo,
  1802. B.TransQty,
  1803. B.ConfirmQty,
  1804. B.TaskNo,
  1805. B.InsStatus,
  1806. B.ToConfirmQty,
  1807. B.seqNo,
  1808. A.FromProLineNo,
  1809. A.ToProLineNo,
  1810. A.ToWarehouseID,
  1811. A.FromEnteredby,
  1812. A.FromEnteredDate,
  1813. A.TransDate,
  1814. A.ToReceiver,
  1815. A.FromReceiver,
  1816. A.FromRemark,
  1817. A.ToRemark,
  1818. A.ConfirmedFlag,
  1819. A.ToConfirmedBy,
  1820. A.ToEnteredby,
  1821. A.ToEnteredDate,
  1822. A.LatestUpdatedBy,
  1823. A.LatestUpdatedDate,
  1824. A.RecordVersion,
  1825. A.Status,
  1826. A.ToTypeFlag_DB,
  1827. A.ToTypeFlag,
  1828. A.ConfirmedTransNo,
  1829. A.need_inspect_flag,
  1830. A.inspected_flag,
  1831. A.inspect_result,
  1832. A.inspect_remark,
  1833. A.NeedReceiveFlag,
  1834. T.template_id, T.sampling_level_no, T.sampling_programme_no, D.UMID, D.PartDescription, SUM(B.TransQty) AS total_required_qty, ISNULL(T.iqc_exempt, 'N'), ISNULL(T.fai_exempt, 'N'), ISNULL(T.ipqc_exempt, 'N'), ISNULL(T.pqc_exempt, 'N'), ISNULL(T.fqc_exempt, 'N'), ISNULL(T.oqc_exempt, 'N')
  1835. FROM SOOpsTransferHeader A
  1836. LEFT JOIN SOOpsTransferDetail B ON A.Site = B.SITE AND A.TransNo = B.TransNo
  1837. INNER JOIN part D ON D.SITE = B.Site AND D.PartNo = B.PartNo
  1838. --采用最小颗粒度匹配原则(① 物料+工序+机台 ② 物料+工序 ③ 物料)
  1839. OUTER APPLY (
  1840. SELECT TOP 1 S.*,O. iqc_exempt,O.fqc_exempt,O.ipqc_exempt,O.pqc_exempt,O.oqc_exempt,O.fai_exempt FROM qc_attribute_template s
  1841. INNER JOIN qc_part_attribute O ON S.site = O.site AND S.bu_no = O.bu_no AND S.attribute_no = O.attribute_no
  1842. WHERE O.site = #{site} AND O.attribute_no = 'FP00003' AND inspection_type_no = '101' --AND ipqc_inspection_method = '首检'
  1843. AND (
  1844. (S.operation = #{operator} AND S.resource_id = #{resourceId}) -- ① 物料+工序+机台
  1845. OR (S.operation = #{operator} AND ( S.resource_id IS NULL OR S.resource_id ='') ) -- ② 物料+工序
  1846. OR ((S.operation IS NULL OR S.operation = '') AND (S.resource_id IS NULL OR S.resource_id ='' )) -- ③ 物料
  1847. )
  1848. ORDER BY
  1849. CASE
  1850. WHEN S.operation = #{operator} AND S.resource_id = #{resourceId} THEN 1
  1851. WHEN S.operation = #{operator} AND S.resource_id IS NULL THEN 2
  1852. WHEN S.operation IS NULL AND S.resource_id IS NULL THEN 3
  1853. ELSE 4
  1854. END
  1855. ) T
  1856. WHERE A.SITE = #{site} AND t.bu_no = #{buNo} AND A.TransNo = #{refInfo1} AND B.ItemNo =#{refInfo2}
  1857. GROUP BY B.OrderNo,B.PartNo,T.template_id,T.sampling_level_no,T.sampling_programme_no, D.UMID,D.PartDescription,T.iqc_exempt,T.fai_exempt,T.ipqc_exempt,T.pqc_exempt,T.fqc_exempt,T.oqc_exempt;
  1858. </select>
  1859. <select id="selectTemplateByPartNo" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1860. WITH base_data AS (
  1861. SELECT DISTINCT
  1862. B.TransNo,B.Site,
  1863. B.ItemNo,
  1864. B.FromOpsID,
  1865. B.FromWorkCenterNo,
  1866. B.ToWorkCenterNo,
  1867. B.ToOpsID,
  1868. B.OrderNo,
  1869. B.PartNo,
  1870. B.TransQty,
  1871. B.ConfirmQty,
  1872. B.TaskNo,
  1873. B.InsStatus,
  1874. B.ToConfirmQty,
  1875. B.seqNo,
  1876. A.FromProLineNo,
  1877. A.ToProLineNo,
  1878. A.ToWarehouseID,
  1879. A.FromEnteredby,
  1880. A.FromEnteredDate,
  1881. A.TransDate,
  1882. A.ToReceiver,
  1883. A.FromReceiver,
  1884. A.FromRemark,
  1885. A.ToRemark,
  1886. A.ConfirmedFlag,
  1887. A.ToConfirmedBy,
  1888. A.ToEnteredby,
  1889. A.ToEnteredDate,
  1890. A.LatestUpdatedBy,
  1891. A.LatestUpdatedDate,
  1892. A.RecordVersion,
  1893. A.Status,
  1894. A.ToTypeFlag_DB,
  1895. A.ToTypeFlag,
  1896. A.ConfirmedTransNo,
  1897. A.need_inspect_flag,
  1898. A.inspected_flag,
  1899. A.inspect_result,
  1900. A.inspect_remark,
  1901. A.NeedReceiveFlag,
  1902. qt.bu_no,
  1903. qt.template_id,
  1904. qt.sampling_level_no,
  1905. qsil.sampling_level_desc,
  1906. qt.inspection_cycle,
  1907. qt.sampling_programme_no,
  1908. qsip.sampling_programme_desc,
  1909. qt.AQL,
  1910. qt.AC,
  1911. qt.RE,
  1912. qt.default_sampling_quantity,
  1913. qt.default_sampling_proportion,
  1914. e.operation as attr_operation,
  1915. e.resource_id as attr_resource_id
  1916. FROM SOOpsTransferHeader A
  1917. INNER JOIN SOOpsTransferDetail B ON A.Site = B.SITE AND A.TransNo = B.TransNo
  1918. INNER JOIN part D ON D.SITE = B.Site AND D.PartNo = B.PartNo
  1919. INNER JOIN qc_attribute_template e on D.SITE = e.site and e.attribute_no = D.PartNo
  1920. INNER JOIN qc_template as qt ON E.SITE = qt.site AND E.bu_no = QT.bu_no AND e.template_id = qt.template_id
  1921. 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
  1922. 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
  1923. WHERE A.SITE = #{site} AND qt.bu_no = #{buNo} AND A.TransNo = #{refInfo1} AND B.ItemNo = #{refInfo2} AND E.inspection_type_no = #{inspectionTypeNo}
  1924. ),
  1925. candidate_data AS (
  1926. SELECT *,
  1927. CASE
  1928. WHEN (#{operator} IS NOT NULL AND #{operator} != '') AND (#{resourceId} IS NOT NULL AND #{resourceId} != '')
  1929. AND attr_operation = #{operator} AND attr_resource_id = #{resourceId} THEN 1
  1930. WHEN (#{operator} IS NOT NULL AND #{operator} != '') AND (#{resourceId} IS NOT NULL AND #{resourceId} != '')
  1931. AND attr_operation = #{operator} THEN 2
  1932. WHEN (#{operator} IS NOT NULL AND #{operator} != '') AND (#{resourceId} IS NOT NULL AND #{resourceId} != '')
  1933. AND attr_resource_id = #{resourceId} THEN 3
  1934. WHEN (#{operator} IS NOT NULL AND #{operator} != '') AND (#{resourceId} IS NOT NULL AND #{resourceId} != '') THEN 4
  1935. WHEN (#{operator} IS NOT NULL AND #{operator} != '') AND (#{resourceId} IS NULL OR #{resourceId} = '')
  1936. AND attr_operation = #{operator} THEN 1
  1937. WHEN (#{operator} IS NOT NULL AND #{operator} != '') AND (#{resourceId} IS NULL OR #{resourceId} = '') THEN 2
  1938. WHEN (#{operator} IS NULL OR #{operator} = '') AND (#{resourceId} IS NOT NULL AND #{resourceId} != '')
  1939. AND attr_resource_id = #{resourceId} THEN 1
  1940. WHEN (#{operator} IS NULL OR #{operator} = '') AND (#{resourceId} IS NOT NULL AND #{resourceId} != '') THEN 2
  1941. ELSE 1
  1942. END AS match_level
  1943. FROM base_data
  1944. )
  1945. SELECT
  1946. TransNo, Site, ItemNo, FromOpsID, FromWorkCenterNo, ToWorkCenterNo, ToOpsID, OrderNo, PartNo, TransQty, ConfirmQty, TaskNo,
  1947. InsStatus, ToConfirmQty, seqNo, FromProLineNo, ToProLineNo, ToWarehouseID, FromEnteredby, FromEnteredDate, TransDate, ToReceiver,
  1948. FromReceiver, FromRemark, ToRemark, ConfirmedFlag, ToConfirmedBy, ToEnteredby, ToEnteredDate, LatestUpdatedBy, LatestUpdatedDate,
  1949. RecordVersion, Status, ToTypeFlag_DB, ToTypeFlag, ConfirmedTransNo, need_inspect_flag, inspected_flag, inspect_result, inspect_remark,
  1950. NeedReceiveFlag, bu_no, template_id, sampling_level_no, sampling_level_desc, inspection_cycle, sampling_programme_no,
  1951. sampling_programme_desc, AQL, AC, RE, default_sampling_quantity, default_sampling_proportion
  1952. FROM candidate_data
  1953. WHERE match_level = (SELECT MIN(match_level) FROM candidate_data)
  1954. </select>
  1955. <select id="selectTemplateByPartNoForOverLoad" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  1956. WITH base_data AS (
  1957. SELECT DISTINCT
  1958. qt.site,
  1959. qt.bu_no,
  1960. qt.template_id,
  1961. qt.sampling_level_no,
  1962. qsil.sampling_level_desc,
  1963. qt.inspection_cycle,
  1964. qt.sampling_programme_no,
  1965. qsip.sampling_programme_desc,
  1966. qt.AQL,
  1967. qt.AC,
  1968. qt.RE,
  1969. qt.default_sampling_quantity,
  1970. qt.default_sampling_proportion,
  1971. e.operation AS attr_operation,
  1972. e.resource_id AS attr_resource_id
  1973. FROM part d
  1974. INNER JOIN qc_attribute_template e ON d.site = e.site AND d.partNo = e.attribute_no
  1975. INNER JOIN qc_template qt ON e.site = qt.site AND e.bu_no = qt.bu_no AND e.template_id = qt.template_id
  1976. LEFT JOIN qc_sampling_inspection_level qsil ON qt.sampling_level_no = qsil.sampling_level_no AND qt.site = qsil.site AND qt.bu_no = qsil.bu_no
  1977. LEFT JOIN qc_sampling_inspection_programme qsip ON qt.sampling_programme_no = qsip.sampling_programme_no AND qt.site = qsip.site AND qt.bu_no = qsip.bu_no
  1978. WHERE d.site = #{site}
  1979. AND e.bu_no = #{buNo}
  1980. AND d.partNo = #{partNo}
  1981. AND e.inspection_type_no = #{inspectionTypeNo}
  1982. ),
  1983. candidate_data AS (
  1984. SELECT *,
  1985. CASE
  1986. WHEN attr_operation = #{operator} THEN 1
  1987. WHEN attr_resource_id = #{resourceId} THEN 1
  1988. ELSE 2
  1989. END AS match_level
  1990. FROM base_data
  1991. )
  1992. SELECT
  1993. site,
  1994. bu_no,
  1995. template_id,
  1996. sampling_level_no,
  1997. sampling_level_desc,
  1998. inspection_cycle,
  1999. sampling_programme_no,
  2000. sampling_programme_desc,
  2001. AQL,
  2002. AC,
  2003. RE,
  2004. default_sampling_quantity,
  2005. default_sampling_proportion
  2006. FROM candidate_data
  2007. WHERE match_level = (SELECT MIN(match_level) FROM candidate_data)
  2008. </select>
  2009. <!-- 新增FAI主记录信息 -->
  2010. <insert id="saveFAIRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2011. 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)
  2012. 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})
  2013. </insert>
  2014. <insert id="saveFAIDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2015. INSERT INTO qc_fai_detailed_record
  2016. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  2017. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  2018. max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
  2019. VALUES
  2020. (#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
  2021. #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
  2022. #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
  2023. </insert>
  2024. <!-- 新增FAI明细记录信息 -->
  2025. <insert id="saveFAIDetailedRecords">
  2026. INSERT INTO qc_fai_detailed_record
  2027. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  2028. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  2029. max_value, value_type_db, value_type, site, sampling_qty, bu_no, order_id)
  2030. VALUES
  2031. <foreach collection="list" item="item" separator=",">
  2032. (#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc},
  2033. #{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},
  2034. #{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId})
  2035. </foreach>
  2036. </insert>
  2037. <!-- 查询FAI主记录信息 -->
  2038. <select id="qcFAIInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2039. SELECT
  2040. a.inspection_no,
  2041. a.site,
  2042. a.bu_no,
  2043. a.state,
  2044. a.inspection_result,
  2045. a.task_date,
  2046. a.inspection_type_no,
  2047. dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) as inspectionTypeName,
  2048. a.inspection_cycle,
  2049. a.order_no,
  2050. a.operation_desc,
  2051. a.resource_id,
  2052. r.resource_desc,
  2053. a.part_no,
  2054. d.PartDescription as partDesc,
  2055. d.Spec as spec,
  2056. d.cinv_source_code as cinvSourceCode,
  2057. d.sku as sku,
  2058. d.invdefinetype as invdefinetype,
  2059. a.inspection_remark,
  2060. a.roll_qty,
  2061. a.sampling_qty,
  2062. a.disposal_measures,
  2063. a.disposal_remark,
  2064. a.inspector_date,
  2065. a.inspector_no,
  2066. u.user_display as inspectorName,
  2067. a.ssr_id,
  2068. a.unqualified_qty,
  2069. a.submit_flag,
  2070. a.seq_no,
  2071. a.batch_roll_no,
  2072. a.special_requirements,
  2073. a.work_center_no,
  2074. a.roll_no,
  2075. a.um_id,
  2076. um.UMName as umName,
  2077. a.action_date,
  2078. a.action_by,
  2079. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  2080. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  2081. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  2082. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  2083. a.pass_qty,
  2084. a.not_pass_qty,
  2085. a.batch_qualified_qty,
  2086. a.receipt_no,
  2087. a.receipt_item_no,
  2088. a.ref_info1,
  2089. a.ref_info2,
  2090. a.ref_info3,
  2091. a.ref_info4,
  2092. a.ref_info5
  2093. FROM qc_fai_record as a
  2094. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.PartNo
  2095. left join sys_user as u on a.inspector_no = u.username
  2096. 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
  2097. left join UM as um on a.site = um.site and a.um_id = um.UMID
  2098. <where>
  2099. <if test="query.site != null and query.site != ''">
  2100. AND a.site = #{query.site}
  2101. </if>
  2102. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  2103. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  2104. </if>
  2105. <if test = "query.partNo != null and query.partNo != ''">
  2106. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  2107. </if>
  2108. <if test = "query.partDesc != null and query.partDesc != ''">
  2109. AND d.PartDescription LIKE '%' + #{query.partDesc} + '%'
  2110. </if>
  2111. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  2112. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  2113. </if>
  2114. <if test = "query.sku != null and query.sku != ''">
  2115. AND d.sku LIKE '%' + #{query.sku} + '%'
  2116. </if>
  2117. <if test = "query.spec != null and query.spec != ''">
  2118. AND d.Spec LIKE '%' + #{query.spec} + '%'
  2119. </if>
  2120. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  2121. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  2122. </if>
  2123. <if test = "query.states != null and query.states.size > 0">
  2124. AND a.state in
  2125. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  2126. #{item}
  2127. </foreach>
  2128. </if>
  2129. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  2130. AND a.inspection_result = #{query.inspectionResult}
  2131. </if>
  2132. <if test = "query.orderNo != null and query.orderNo != ''">
  2133. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  2134. </if>
  2135. <if test = "query.seqNo != null and query.seqNo != ''">
  2136. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  2137. </if>
  2138. <if test = "query.operationDesc != null and query.operationDesc != ''">
  2139. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  2140. </if>
  2141. <if test="query.startDate != null">
  2142. AND a.inspector_date >= #{query.startDate}
  2143. </if>
  2144. <if test="query.endDate != null">
  2145. AND #{query.endDate} >= a.inspector_date
  2146. </if>
  2147. <if test="query.startDate2 != null">
  2148. AND a.task_date >= #{query.startDate2}
  2149. </if>
  2150. <if test="query.endDate2 != null">
  2151. AND #{query.endDate2} >= a.task_date
  2152. </if>
  2153. </where>
  2154. ORDER BY
  2155. CASE WHEN a.state = '待检验' THEN 1
  2156. WHEN a.state = '待审核' THEN 2
  2157. WHEN a.state = '已完成' THEN 3
  2158. END, a.task_date desc
  2159. </select>
  2160. <!-- 获取物料的类别编码 -->
  2161. <select id="selectFamilyIdByPartNo" parameterType="string" resultType="string">
  2162. SELECT FamilyID
  2163. FROM part
  2164. WHERE PartNo = #{partNo} AND site = #{site}
  2165. </select>
  2166. <!-- FAI明细记录查询 -->
  2167. <select id="faiDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2168. SELECT
  2169. a.site,
  2170. a.bu_no,
  2171. a.inspection_no,
  2172. a.order_no,
  2173. a.template_id,
  2174. a.sampling_level_no,
  2175. a.sampling_level_desc,
  2176. a.sampling_programme_no,
  2177. a.sampling_programme_desc,
  2178. a.AQL,
  2179. a.AC,
  2180. a.RE,
  2181. a.item_no,
  2182. a.item_desc,
  2183. a.object_id,
  2184. a.object_desc,
  2185. a.default_value,
  2186. a.min_value,
  2187. a.max_value,
  2188. a.text_value,
  2189. a.number_value,
  2190. a.value_type_db,
  2191. a.value_type,
  2192. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  2193. a.is_submit,
  2194. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  2195. a.sampling_qty,
  2196. dbo.qc_get_fai_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  2197. c.method_no,
  2198. c.method_name,
  2199. c.method_remark,
  2200. (
  2201. SELECT COUNT(*)
  2202. FROM sys_oss
  2203. WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
  2204. ) AS imageDetailNum,
  2205. ISNULL(D.picture_flag,'N') as pictureFlag
  2206. FROM qc_fai_detailed_record as a
  2207. INNER JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
  2208. INNER JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
  2209. INNER JOIN eam_properties_item as d on a.site = d.site and a.item_no = d.ItemNo and a.bu_no = d.bu_no
  2210. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  2211. order by a.order_id
  2212. </select>
  2213. <!-- 修改FAI主记录信息 -->
  2214. <update id="updateFAIMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2215. UPDATE qc_fai_record
  2216. SET disposal_measures = #{disposalMeasures},
  2217. disposal_remark = #{disposalRemark},
  2218. inspection_result = #{inspectionResult},
  2219. inspector_no = #{inspectorNo},
  2220. state = #{state},
  2221. inspection_remark = #{inspectionRemark},
  2222. inspector_date = getDate(),
  2223. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2224. roll_qty = #{rollQty,jdbcType=DECIMAL},
  2225. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  2226. pass_qty = #{passQty,jdbcType=DECIMAL},
  2227. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  2228. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  2229. submit_date = getDate()
  2230. WHERE site = #{site} AND inspection_no = #{inspectionNo} and bu_no = #{buNo}
  2231. </update>
  2232. <!-- 修改FAI明细记录信息 -->
  2233. <update id="updateFAIDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2234. UPDATE qc_fai_detailed_record
  2235. SET item_result = #{itemResult},
  2236. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  2237. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2238. text_value = #{textValue},
  2239. number_value = #{numberValue,jdbcType=DECIMAL}
  2240. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2241. </update>
  2242. <!-- 修改子明细提交标识 -->
  2243. <update id="updateSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2244. UPDATE qc_fai_sub_detail_record
  2245. SET is_submit = 'Y'
  2246. WHERE inspection_no = #{inspectionNo}
  2247. </update>
  2248. <!-- 删除FAI检验记录 -->
  2249. <delete id="deleteFAIRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2250. DELETE FROM qc_fai_record
  2251. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2252. </delete>
  2253. <!-- 删除FAI明细记录信息 -->
  2254. <delete id="deleteFAIDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2255. DELETE FROM qc_fai_detailed_record
  2256. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2257. </delete>
  2258. <!-- 删除FAI子明细记录信息 -->
  2259. <delete id="deleteFAISubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2260. DELETE FROM qc_fai_sub_detail_record
  2261. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2262. </delete>
  2263. <!-- 修改FAI主记录标识为已提交 -->
  2264. <update id="updateFAIMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2265. UPDATE qc_fai_record
  2266. SET submit_flag = 'Y',
  2267. state = '已完成',
  2268. submit_date = getDate()
  2269. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2270. </update>
  2271. <!-- 修改FAI明细记录标识为已提交 -->
  2272. <update id="updateFAIDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2273. UPDATE qc_fai_detailed_record
  2274. SET is_submit = 'Y'
  2275. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2276. </update>
  2277. <!-- 修改子明细记录标识为已提交 -->
  2278. <update id="updateFAISubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2279. UPDATE qc_fai_sub_detail_record
  2280. SET is_submit = 'Y'
  2281. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2282. </update>
  2283. <!-- 查询FAI检验记录是否已提交 -->
  2284. <select id="checkFAIIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2285. SELECT submit_flag
  2286. FROM qc_fai_record
  2287. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2288. </select>
  2289. <!-- 删除子明细的老数据 -->
  2290. <delete id="delFAISubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  2291. DELETE FROM qc_fai_sub_detail_record
  2292. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2293. </delete>
  2294. <!-- 新增FAI子明细信息 -->
  2295. <insert id="saveFAISubDetailed">
  2296. INSERT INTO qc_fai_sub_detail_record
  2297. (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)
  2298. VALUES
  2299. <foreach collection="list" item="item" separator=",">
  2300. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
  2301. </foreach>
  2302. </insert>
  2303. <!-- 查询FAI的子明细 -->
  2304. <select id="selectFAISubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  2305. SELECT
  2306. site,
  2307. bu_no,
  2308. sub_detail_value,
  2309. sampling_location,
  2310. is_submit,
  2311. sampling_location_b,
  2312. num,
  2313. sub_detail_value_b,
  2314. sub_detail_value_c,
  2315. sub_detail_value_d,
  2316. sub_detail_value_e
  2317. FROM qc_fai_sub_detail_record
  2318. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2319. <if test = "collectionDataContent != null and collectionDataContent != ''">
  2320. AND sub_detail_value ${collectionDataContent}
  2321. </if>
  2322. </select>
  2323. <!-- 获取该项目的子明细值 -->
  2324. <select id="selectFAISubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
  2325. SELECT sub_detail_value,
  2326. sampling_location,
  2327. is_submit
  2328. FROM qc_fai_sub_detail_record
  2329. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  2330. </select>
  2331. <!-- ================================================= IPQC检验维护 ================================================= -->
  2332. <!-- 查询IPQC基础数据 -->
  2333. <select id="selectIPQCBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2334. SELECT
  2335. top 1
  2336. a.orderno as orderNo,
  2337. j.part_no,
  2338. j.part_desc,
  2339. c.operation_desc,
  2340. b.approve_qty as rollQty,
  2341. a.s_resourceid as resourceId,
  2342. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  2343. a.itemno as itemNo,
  2344. a.id as ssrId
  2345. FROM soscheduledrouting as a
  2346. LEFT JOIN sfdc as b
  2347. ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
  2348. select max(sfdc.id)
  2349. from sfdc
  2350. group by sfdc.assjob_seq_no, site
  2351. )
  2352. LEFT JOIN so_routing as c
  2353. ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
  2354. LEFT JOIN part j
  2355. ON a.site = j.site and a.part_no = j.part_no
  2356. LEFT JOIN (select ssr_id from qc_ipqc_record where check_type = '末件检') as temp
  2357. ON a.id = temp.ssr_id
  2358. WHERE b.approve_qty is not null and temp.ssr_id is null
  2359. ORDER BY a.id desc
  2360. </select>
  2361. <select id="qcExec" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="string" statementType="CALLABLE">
  2362. {CALL
  2363. getIpqcRecord(#{site,mode=IN,jdbcType=VARCHAR})
  2364. }
  2365. </select>
  2366. <insert id="saveIPQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2367. INSERT INTO qc_ipqc_detailed_record
  2368. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  2369. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  2370. max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
  2371. VALUES
  2372. (#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
  2373. #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
  2374. #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
  2375. </insert>
  2376. <!-- 新增IPQC明细记录信息 -->
  2377. <insert id="saveIPQCDetailedRecords">
  2378. INSERT INTO qc_ipqc_detailed_record
  2379. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  2380. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  2381. max_value, value_type_db, value_type, site, sampling_qty, bu_no, order_id)
  2382. VALUES
  2383. <foreach collection="list" item="item" separator=",">
  2384. (#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc},
  2385. #{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},
  2386. #{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId})
  2387. </foreach>
  2388. </insert>
  2389. <!-- 新增IPQC主记录信息 -->
  2390. <insert id="saveIPQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2391. INSERT INTO qc_ipqc_record
  2392. (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
  2393. part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id,ref_info1,ref_info2)
  2394. VALUES
  2395. (#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
  2396. #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId},#{refInfo1},#{refInfo2})
  2397. </insert>
  2398. <insert id="saveIQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2399. INSERT INTO qc_iqc_record
  2400. (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
  2401. part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id,ref_info1,ref_info2)
  2402. VALUES
  2403. (#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
  2404. #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId},#{refInfo1},#{refInfo2})
  2405. </insert>
  2406. <insert id="saveSQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2407. INSERT INTO qc_sqc_record
  2408. (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
  2409. part_no, roll_qty, sampling_qty, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id,ref_info1,ref_info2)
  2410. VALUES
  2411. (#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
  2412. #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId},#{refInfo1},#{refInfo2})
  2413. </insert>
  2414. <!-- 查询IPQC主记录信息 -->
  2415. <select id="qcIPQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2416. SELECT
  2417. a.inspection_no,
  2418. a.site,
  2419. a.bu_no,
  2420. a.state,
  2421. a.inspection_result,
  2422. a.task_date,
  2423. a.inspection_type_no,
  2424. a.inspection_cycle,
  2425. a.order_no,
  2426. a.operation_desc,
  2427. a.resource_id,
  2428. r.resource_desc,
  2429. a.part_no,
  2430. d.PartDescription as partDesc,
  2431. d.Spec as spec,
  2432. d.cinv_source_code as cinvSourceCode,
  2433. d.sku as sku,
  2434. d.invdefinetype as invdefinetype,
  2435. a.inspection_remark,
  2436. a.roll_qty,
  2437. a.sampling_qty,
  2438. a.disposal_measures,
  2439. a.disposal_remark,
  2440. a.inspector_date,
  2441. a.inspector_no,
  2442. u.user_display as inspectorName,
  2443. a.ssr_id,
  2444. a.unqualified_qty,
  2445. a.submit_flag,
  2446. a.seq_no,
  2447. a.batch_roll_no,
  2448. a.special_requirements,
  2449. a.work_center_no,
  2450. a.roll_no,
  2451. a.um_id,
  2452. um.UMName as umName,
  2453. a.action_date,
  2454. a.action_by,
  2455. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  2456. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  2457. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  2458. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  2459. a.pass_qty,
  2460. a.not_pass_qty,
  2461. a.batch_qualified_qty,
  2462. a.receipt_no,
  2463. a.receipt_item_no,
  2464. a.ref_info1,
  2465. a.ref_info2,
  2466. a.ref_info3,
  2467. a.ref_info4,
  2468. a.ref_info5
  2469. FROM qc_ipqc_record as a
  2470. left join part as d on a.site = d.site and a.part_no = d.partNo
  2471. left join sys_user as u on a.inspector_no = u.username
  2472. 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
  2473. left join UM as um on a.site = um.site and a.um_id = um.UMID
  2474. <where>
  2475. <if test="query.site != null and query.site != ''">
  2476. AND a.site = #{query.site}
  2477. </if>
  2478. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  2479. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  2480. </if>
  2481. <if test = "query.partNo != null and query.partNo != ''">
  2482. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  2483. </if>
  2484. <if test = "query.partDesc != null and query.partDesc != ''">
  2485. AND d.PartDescription LIKE '%' + #{query.partDesc} + '%'
  2486. </if>
  2487. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  2488. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  2489. </if>
  2490. <if test = "query.sku != null and query.sku != ''">
  2491. AND d.sku LIKE '%' + #{query.sku} + '%'
  2492. </if>
  2493. <if test = "query.spec != null and query.spec != ''">
  2494. AND d.Spec LIKE '%' + #{query.spec} + '%'
  2495. </if>
  2496. <if test = "query.states != null and query.states.size > 0">
  2497. AND a.state in
  2498. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  2499. #{item}
  2500. </foreach>
  2501. </if>
  2502. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  2503. AND a.inspection_type_no = #{query.inspectionTypeNo}
  2504. </if>
  2505. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  2506. AND a.inspection_result = #{query.inspectionResult}
  2507. </if>
  2508. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  2509. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  2510. </if>
  2511. <if test = "query.orderNo != null and query.orderNo != ''">
  2512. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  2513. </if>
  2514. <if test = "query.seqNo != null and query.seqNo != ''">
  2515. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  2516. </if>
  2517. <if test = "query.operationDesc != null and query.operationDesc != ''">
  2518. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  2519. </if>
  2520. <if test="query.startDate != null">
  2521. AND a.inspector_date >= #{query.startDate}
  2522. </if>
  2523. <if test="query.endDate != null">
  2524. AND #{query.endDate} >= a.inspector_date
  2525. </if>
  2526. <if test="query.startDate2 != null">
  2527. AND a.task_date >= #{query.startDate2}
  2528. </if>
  2529. <if test="query.endDate2 != null">
  2530. AND #{query.endDate2} >= a.task_date
  2531. </if>
  2532. </where>
  2533. ORDER BY
  2534. CASE WHEN a.state = '待检验' THEN 1
  2535. WHEN a.state = '待审核' THEN 2
  2536. WHEN a.state = '已完成' THEN 3
  2537. END, a.task_date desc
  2538. </select>
  2539. <!-- IPQC明细记录查询 -->
  2540. <select id="ipqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2541. SELECT
  2542. a.site,
  2543. a.bu_no,
  2544. a.inspection_no,
  2545. a.order_no,
  2546. a.template_id,
  2547. a.sampling_level_no,
  2548. a.sampling_level_desc,
  2549. a.sampling_programme_no,
  2550. a.sampling_programme_desc,
  2551. a.AQL,
  2552. a.AC,
  2553. a.RE,
  2554. a.item_no,
  2555. a.item_desc,
  2556. a.object_id,
  2557. a.object_desc,
  2558. a.default_value,
  2559. a.min_value,
  2560. a.max_value,
  2561. a.text_value,
  2562. a.number_value,
  2563. a.value_type_db,
  2564. a.value_type,
  2565. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  2566. a.is_submit,
  2567. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  2568. a.sampling_qty,
  2569. dbo.qc_get_ipqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  2570. c.method_no,
  2571. c.method_name,
  2572. c.method_remark,
  2573. (
  2574. SELECT COUNT(*)
  2575. FROM sys_oss
  2576. WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
  2577. ) AS imageDetailNum,
  2578. ISNULL(D.picture_flag,'N') as pictureFlag
  2579. FROM qc_ipqc_detailed_record as a
  2580. INNER JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
  2581. INNER JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
  2582. INNER JOIN eam_properties_item as d on a.site = d.site and a.item_no = d.ItemNo and a.bu_no = d.bu_no
  2583. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  2584. order by a.order_id
  2585. </select>
  2586. <!-- 删除IPQC检验记录 -->
  2587. <delete id="deleteIPQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2588. DELETE FROM qc_ipqc_record
  2589. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2590. </delete>
  2591. <!-- 删除IPQC明细记录信息 -->
  2592. <delete id="deleteIPQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2593. DELETE FROM qc_ipqc_detailed_record
  2594. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2595. </delete>
  2596. <!-- 删除IPQC子明细记录信息 -->
  2597. <delete id="deleteIPQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2598. DELETE FROM qc_ipqc_sub_detail_record
  2599. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2600. </delete>
  2601. <!-- 修改IPQC主记录信息 -->
  2602. <update id="updateIPQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2603. UPDATE qc_ipqc_record
  2604. SET disposal_measures = #{disposalMeasures},
  2605. disposal_remark = #{disposalRemark},
  2606. inspection_result = #{inspectionResult},
  2607. inspector_no = #{inspectorNo},
  2608. state = #{state},
  2609. inspection_remark = #{inspectionRemark},
  2610. inspector_date = getDate(),
  2611. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2612. roll_qty = #{rollQty,jdbcType=DECIMAL},
  2613. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  2614. pass_qty = #{passQty,jdbcType=DECIMAL},
  2615. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  2616. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  2617. submit_date = getDate()
  2618. WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
  2619. </update>
  2620. <!-- 修改IPQC明细记录信息 -->
  2621. <update id="updateIPQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2622. UPDATE qc_ipqc_detailed_record
  2623. SET item_result = #{itemResult},
  2624. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  2625. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2626. text_value = #{textValue},
  2627. number_value = #{numberValue,jdbcType=DECIMAL}
  2628. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2629. </update>
  2630. <!-- 修改IPQC主记录标识为已提交 -->
  2631. <update id="updateIPQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2632. UPDATE qc_ipqc_record
  2633. SET submit_flag = 'Y',
  2634. state = '已完成',
  2635. submit_date = getDate()
  2636. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2637. </update>
  2638. <!-- 修改IPQC明细记录标识为已提交 -->
  2639. <update id="updateIPQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2640. UPDATE qc_ipqc_detailed_record
  2641. SET is_submit = 'Y'
  2642. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2643. </update>
  2644. <!-- 修改IPQC子明细记录标识为已提交 -->
  2645. <update id="updateIPQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2646. UPDATE qc_ipqc_sub_detail_record
  2647. SET is_submit = 'Y'
  2648. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2649. </update>
  2650. <!-- 删除IPQC子明细的老数据 -->
  2651. <delete id="delIPQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  2652. DELETE FROM qc_ipqc_sub_detail_record
  2653. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2654. </delete>
  2655. <!-- 新增IPQC子明细信息 -->
  2656. <insert id="saveIPQCSubDetailed">
  2657. INSERT INTO qc_ipqc_sub_detail_record
  2658. (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)
  2659. VALUES
  2660. <foreach collection="list" item="item" separator=",">
  2661. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
  2662. </foreach>
  2663. </insert>
  2664. <!-- 查询IPQC的子明细 -->
  2665. <select id="selectIPQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  2666. SELECT
  2667. site,
  2668. bu_no,
  2669. sub_detail_value,
  2670. sampling_location,
  2671. is_submit,
  2672. sampling_location_b,
  2673. num,
  2674. sub_detail_value_b,
  2675. sub_detail_value_c,
  2676. sub_detail_value_d,
  2677. sub_detail_value_e
  2678. FROM qc_ipqc_sub_detail_record
  2679. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2680. <if test = "collectionDataContent != null and collectionDataContent != ''">
  2681. AND sub_detail_value ${collectionDataContent}
  2682. </if>
  2683. </select>
  2684. <!-- 查询IPQC检验记录是否已提交 -->
  2685. <select id="checkIPQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2686. SELECT submit_flag
  2687. FROM qc_ipqc_record
  2688. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2689. </select>
  2690. <!-- 获取该项目的子明细值 -->
  2691. <select id="selectIPQCSubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
  2692. SELECT sub_detail_value,
  2693. sampling_location,
  2694. is_submit
  2695. FROM qc_ipqc_sub_detail_record
  2696. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  2697. </select>
  2698. <!-- 查询工序列表 -->
  2699. <select id="getOperationList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2700. SELECT
  2701. DISTINCT
  2702. a.seqno as seqNo,
  2703. a.orderno as orderNo,
  2704. j.partNo,
  2705. j.PartDescription,
  2706. j.invdefinetype,
  2707. j.sku,
  2708. c.OperationDesc as operationDesc,
  2709. a.itemno as operationNo,
  2710. a.s_resourceid as resourceId,
  2711. r.resource_desc as resourceDesc,
  2712. c.work_center_no
  2713. FROM soscheduledrouting as a
  2714. LEFT JOIN RoutingDetail AS c ON c.site = a.site AND a.itemno = c.itemNo
  2715. LEFT JOIN part j ON a.site = j.site and a.partNo = j.partNo
  2716. LEFT JOIN resource r ON a.site = r.site and a.s_resourceid = r.resource_id
  2717. WHERE a.site = #{site} and a.seqno = #{seqNo}
  2718. </select>
  2719. <!-- 根据工单号和工序号查出所有数据 -->
  2720. <select id="getResourceList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2721. SELECT
  2722. a.s_resourceid as resourceId,
  2723. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  2724. c.work_center_no
  2725. FROM soscheduledrouting as a
  2726. LEFT JOIN sfdc as b ON a.site = b.site and a.seqno = b.assjob_seq_no
  2727. LEFT JOIN so_routing as c ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
  2728. LEFT JOIN part j ON a.site = j.site and a.part_no = j.part_no
  2729. WHERE a.site = #{site} and b.approve_qty is not null and a.seqno = #{seqNo}
  2730. ORDER BY a.id desc
  2731. </select>
  2732. <!-- a.orderno = #{orderNo} and c.operation_desc = #{operationDesc}-->
  2733. <!-- 查询机台名称 -->
  2734. <select id="selectResourceDesc" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2735. SELECT distinct
  2736. resource_desc
  2737. FROM resource
  2738. WHERE site = #{site} and resource_id = #{resourceId}
  2739. </select>
  2740. <!-- 查询物料名称 -->
  2741. <select id="selectPartDesc" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2742. SELECT distinct
  2743. part_desc
  2744. FROM part
  2745. WHERE site = #{site} and part_no = #{partNo}
  2746. </select>
  2747. <!-- ================================================= IQC检验维护 ================================================= -->
  2748. <!-- 查询IQC基础数据 -->
  2749. <select id="selectIQCBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2750. SELECT
  2751. qir.inspection_no,
  2752. qir.state,
  2753. qir.create_date as taskDate,
  2754. qir.roll_no,
  2755. qir.part_no,
  2756. p.PartDescription,
  2757. p.cinv_source_code,
  2758. p.sku as sku,
  2759. qir.roll_qty,
  2760. qir.print_flag,
  2761. qir.create_by,
  2762. qir.supplier_no,
  2763. qir.site,
  2764. qir.bu_no,
  2765. qir.po_orderNo,
  2766. qir.po_itemNo,
  2767. qir.roll_count
  2768. FROM qc_iqc_record as qir
  2769. LEFT JOIN part p ON qir.part_no = p.PartNo and qir.site = p.site
  2770. WHERE (qir.site + '-' + qir.bu_no) in (select * from dbo.query_bu(#{userName}))
  2771. </select>
  2772. <!-- 新增IQC明细记录信息 -->
  2773. <insert id="saveIQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2774. 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)
  2775. 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})
  2776. </insert>
  2777. <insert id="saveIQCDetailedRecordByTemplate" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2778. INSERT INTO dbo.qc_iqc_detailed_record
  2779. (
  2780. inspection_no, template_id, sampling_level_no, sampling_level_desc,
  2781. sampling_programme_no, sampling_programme_desc, AQL, AC, RE,
  2782. item_no, item_desc, default_value, min_value, max_value,
  2783. item_result, value_type_db, value_type, is_submit, site, sampling_qty, bu_no, order_id
  2784. )
  2785. SELECT
  2786. #{inspectionNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc},
  2787. #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL},
  2788. A.ItemNo, B.ItemDesc,
  2789. COALESCE(C.default_value, A.default_value, B.defaultValue),
  2790. COALESCE(C.min_value, A.min_value, B.minvalue),
  2791. COALESCE(C.max_value, A.max_value, B.maxValue),
  2792. 'Y', B.ValueType_DB, B.ValueType, 'N', #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo}, A.order_id
  2793. FROM qc_template_detailed A
  2794. INNER JOIN eam_properties_item B ON A.SITE = B.SITE AND A.bu_no = B.bu_no AND A.ItemNo = B.ItemNo
  2795. LEFT JOIN qc_part_attr_detailed C ON B.site = C.site AND B.bu_no = C.bu_no AND B.ItemNo = C.item_no AND C.attribute_no = #{partNo}
  2796. WHERE A.SITE = #{site} AND A.bu_no = #{buNo} AND A.template_id = #{templateId}
  2797. </insert>
  2798. <insert id="saveFAIDetailedRecordByTemplate" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2799. INSERT INTO dbo.qc_fai_detailed_record
  2800. (
  2801. inspection_no, template_id, sampling_level_no, sampling_level_desc,
  2802. sampling_programme_no, sampling_programme_desc, AQL, AC, RE,
  2803. item_no, item_desc, object_id, object_desc, default_value, min_value, max_value,
  2804. item_result, value_type_db, value_type, is_submit, site, sampling_qty, bu_no, order_id,order_no
  2805. )
  2806. SELECT
  2807. #{inspectionNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc},
  2808. #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL},
  2809. A.ItemNo, B.ItemDesc, A.object_id, A.object_desc,
  2810. COALESCE(C.default_value, A.default_value, B.defaultValue),
  2811. COALESCE(C.min_value, A.min_value, B.minvalue),
  2812. COALESCE(C.max_value, A.max_value, B.maxValue),
  2813. 'Y', B.ValueType_DB, B.ValueType, 'N', #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo}, A.order_id,#{orderNo}
  2814. FROM qc_template_detailed A
  2815. INNER JOIN eam_properties_item B ON A.SITE = B.SITE AND A.bu_no = B.bu_no AND A.ItemNo = B.ItemNo
  2816. LEFT JOIN qc_part_attr_detailed C ON B.site = C.site AND B.bu_no = C.bu_no AND B.ItemNo = C.item_no AND C.attribute_no = #{partNo}
  2817. WHERE A.SITE = #{site} AND A.bu_no = #{buNo} AND A.template_id = #{templateId}
  2818. </insert>
  2819. <insert id="saveIPQCDetailedRecordByTemplate" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2820. INSERT INTO dbo.qc_ipqc_detailed_record
  2821. (
  2822. inspection_no, template_id, sampling_level_no, sampling_level_desc,
  2823. sampling_programme_no, sampling_programme_desc, AQL, AC, RE,
  2824. item_no, item_desc, object_id, default_value, min_value, max_value,
  2825. item_result, value_type_db, value_type, is_submit, site, sampling_qty, bu_no, order_id,order_no
  2826. )
  2827. SELECT
  2828. #{inspectionNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc},
  2829. #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL},
  2830. A.ItemNo, B.ItemDesc, A.object_id,
  2831. COALESCE(C.default_value, A.default_value, B.defaultValue),
  2832. COALESCE(C.min_value, A.min_value, B.minvalue),
  2833. COALESCE(C.max_value, A.max_value, B.maxValue),
  2834. 'Y', B.ValueType_DB, B.ValueType, 'N', #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo}, A.order_id,#{orderNo}
  2835. FROM qc_template_detailed A
  2836. INNER JOIN eam_properties_item B ON A.SITE = B.SITE AND A.bu_no = B.bu_no AND A.ItemNo = B.ItemNo
  2837. LEFT JOIN qc_part_attr_detailed C ON B.site = C.site AND B.bu_no = C.bu_no AND B.ItemNo = C.item_no AND C.attribute_no = #{partNo}
  2838. WHERE A.SITE = #{site} AND A.bu_no = #{buNo} AND A.template_id = #{templateId}
  2839. </insert>
  2840. <insert id="saveFQCDetailedRecordByTemplate" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2841. INSERT INTO dbo.qc_fqc_detailed_record
  2842. (
  2843. inspection_no, template_id, sampling_level_no, sampling_level_desc,
  2844. sampling_programme_no, sampling_programme_desc, AQL, AC, RE,
  2845. item_no, item_desc, object_id, default_value, min_value, max_value,
  2846. item_result, value_type_db, value_type, is_submit, site, sampling_qty, bu_no, order_id,order_no
  2847. )
  2848. SELECT
  2849. #{inspectionNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc},
  2850. #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL},
  2851. A.ItemNo, B.ItemDesc, A.object_id,
  2852. COALESCE(C.default_value, A.default_value, B.defaultValue),
  2853. COALESCE(C.min_value, A.min_value, B.minvalue),
  2854. COALESCE(C.max_value, A.max_value, B.maxValue),
  2855. 'Y', B.ValueType_DB, B.ValueType, 'N', #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo}, A.order_id,#{orderNo}
  2856. FROM qc_template_detailed A
  2857. INNER JOIN eam_properties_item B ON A.SITE = B.SITE AND A.bu_no = B.bu_no AND A.ItemNo = B.ItemNo
  2858. LEFT JOIN qc_part_attr_detailed C ON B.site = C.site AND B.bu_no = C.bu_no AND B.ItemNo = C.item_no AND C.attribute_no = #{partNo}
  2859. WHERE A.SITE = #{site} AND A.bu_no = #{buNo} AND A.template_id = #{templateId}
  2860. </insert>
  2861. <!-- 修改IQC检验记录 -->
  2862. <update id="updateIQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2863. UPDATE qc_iqc_record
  2864. SET inspection_type_no = #{inspectionTypeNo},
  2865. sampling_qty = #{samplingQty},
  2866. inspection_cycle = #{inspectionCycle},
  2867. part_no = #{partNo},
  2868. supplier_no = #{supplierNo},
  2869. part_desc = #{partDesc},
  2870. detail_flag = 'Y',
  2871. state = '未开始',
  2872. action_date = #{actionDate},
  2873. action_by = ''
  2874. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2875. </update>
  2876. <update id="updateFAIRecordOverLoad" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2877. UPDATE qc_fai_record
  2878. SET inspection_type_no = #{inspectionTypeNo},
  2879. sampling_qty = #{samplingQty},
  2880. inspection_cycle = #{inspectionCycle},
  2881. part_no = #{partNo},
  2882. state = '未开始',
  2883. action_date = '',
  2884. action_by = ''
  2885. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2886. </update>
  2887. <update id="updateIPQCRecordOverLoad" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2888. UPDATE qc_ipqc_record
  2889. SET inspection_type_no = #{inspectionTypeNo},
  2890. sampling_qty = #{samplingQty},
  2891. inspection_cycle = #{inspectionCycle},
  2892. part_no = #{partNo},
  2893. state = '未开始',
  2894. action_date = '',
  2895. action_by = ''
  2896. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2897. </update>
  2898. <update id="updateFQCRecordOverLoad" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  2899. UPDATE qc_fqc_record
  2900. SET inspection_type_no = #{inspectionTypeNo},
  2901. sampling_qty = #{samplingQty},
  2902. inspection_cycle = #{inspectionCycle},
  2903. part_no = #{partNo},
  2904. state = '未开始',
  2905. action_date = '',
  2906. action_by = ''
  2907. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2908. </update>
  2909. <!-- 查询IQC主记录信息 -->
  2910. <select id="qcIQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  2911. SELECT
  2912. a.inspection_no,
  2913. a.site,
  2914. a.bu_no,
  2915. a.state,
  2916. a.inspection_result,
  2917. a.create_date as taskDate,
  2918. a.inspection_type_no,
  2919. a.inspection_cycle,
  2920. a.part_no,
  2921. d.PartDescription as partDesc,
  2922. d.Spec as spec,
  2923. d.cinv_source_code as cinvSourceCode,
  2924. d.sku,
  2925. d.umid as umId,
  2926. d.invdefinetype as invdefinetype,
  2927. a.inspection_remark,
  2928. a.roll_qty,
  2929. a.sampling_qty,
  2930. a.disposal_measures,
  2931. a.disposal_remark,
  2932. a.inspector_date,
  2933. a.inspector_no,
  2934. u.user_display as inspectorName,
  2935. a.unqualified_quantity,
  2936. a.submit_flag,
  2937. a.roll_no,
  2938. a.supplier_no,
  2939. s.SupplierName as supplierDesc,
  2940. a.po_orderNo,
  2941. a.po_itemNo,
  2942. a.roll_count,
  2943. dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) as orderType,
  2944. a.action_date,
  2945. a.action_by,
  2946. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  2947. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  2948. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  2949. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  2950. a.submission_remark,
  2951. a.submission_type,
  2952. a.batch_no,
  2953. a.production_date,
  2954. a.expiration_warning_date,
  2955. a.expiration_date,
  2956. a.cancel_check_date,
  2957. a.submit_date,
  2958. a.pass_qty,
  2959. a.not_pass_qty,
  2960. a.batch_qualified_qty,
  2961. a.receipt_no,
  2962. a.receipt_item_no,
  2963. a.ref_info1,
  2964. a.ref_info2,
  2965. a.ref_info3,
  2966. a.ref_info4,
  2967. a.ref_info5
  2968. FROM qc_iqc_record as a
  2969. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.partNo
  2970. left join view_Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
  2971. left join sys_user as u on a.inspector_no = u.username
  2972. <where>
  2973. <if test="query.site != null and query.site != ''">
  2974. AND a.site = #{query.site}
  2975. </if>
  2976. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  2977. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  2978. </if>
  2979. <if test = "query.states != null and query.states.size > 0">
  2980. AND a.state in
  2981. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  2982. #{item}
  2983. </foreach>
  2984. </if>
  2985. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  2986. AND a.inspection_result = #{query.inspectionResult}
  2987. </if>
  2988. <if test = "query.partNo != null and query.partNo != ''">
  2989. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  2990. </if>
  2991. <if test = "query.partDesc != null and query.partDesc != ''">
  2992. AND a.part_desc LIKE '%' + #{query.partDesc} + '%'
  2993. </if>
  2994. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  2995. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  2996. </if>
  2997. <if test = "query.sku != null and query.sku != ''">
  2998. AND d.sku LIKE '%' + #{query.sku} + '%'
  2999. </if>
  3000. <if test = "query.supplierDesc != null and query.supplierDesc != ''">
  3001. AND s.SupplierName LIKE '%' + #{query.supplierDesc} + '%'
  3002. </if>
  3003. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  3004. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  3005. </if>
  3006. <if test = "query.inspectorName != null and query.inspectorName != ''">
  3007. u.user_display LIKE '%' + #{query.inspectorName} + '%'
  3008. </if>
  3009. <if test="query.startDate != null">
  3010. AND a.inspector_date >= #{query.startDate}
  3011. </if>
  3012. <if test="query.endDate != null">
  3013. AND #{query.endDate} >= a.inspector_date
  3014. </if>
  3015. <if test="query.startDate2 != null">
  3016. AND a.create_date >= #{query.startDate2}
  3017. </if>
  3018. <if test="query.endDate2 != null">
  3019. AND #{query.endDate2} >= a.create_date
  3020. </if>
  3021. <if test = "query.poOrderNo != null and query.poOrderNo != ''">
  3022. AND a.po_orderNo LIKE '%' + #{query.poOrderNo} + '%'
  3023. </if>
  3024. <if test = "query.poItemNo != null and query.poItemNo != ''">
  3025. AND a.po_itemNo LIKE '%' + #{query.poItemNo} + '%'
  3026. </if>
  3027. <if test = "query.orderType != null and query.orderType != ''">
  3028. AND dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) = #{query.orderType}
  3029. </if>
  3030. <if test = "query.submissionType != null and query.submissionType != ''">
  3031. AND a.submission_type = #{query.submissionType}
  3032. </if>
  3033. <if test = "query.spec != null and query.spec != ''">
  3034. AND d.Spec LIKE '%' + #{query.spec} + '%'
  3035. </if>
  3036. </where>
  3037. ORDER BY
  3038. CASE WHEN a.state = '待检验' THEN 1
  3039. WHEN a.state = '待审核' THEN 2
  3040. WHEN a.state = '已完成' THEN 3
  3041. END, a.create_date desc
  3042. </select>
  3043. <!-- IQC明细记录查询 -->
  3044. <select id="iqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3045. SELECT
  3046. a.site,
  3047. a.bu_no,
  3048. a.inspection_no,
  3049. a.template_id,
  3050. a.sampling_level_no,
  3051. a.sampling_level_desc,
  3052. a.sampling_programme_no,
  3053. a.sampling_programme_desc,
  3054. a.AQL,
  3055. a.AC,
  3056. a.RE,
  3057. a.item_no,
  3058. a.item_desc,
  3059. a.object_id,
  3060. a.object_desc,
  3061. a.default_value,
  3062. a.min_value,
  3063. a.max_value,
  3064. a.text_value,
  3065. a.number_value,
  3066. a.value_type_db,
  3067. a.value_type,
  3068. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  3069. a.is_submit,
  3070. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  3071. dbo.qc_get_iqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  3072. c.method_no,
  3073. c.method_name,
  3074. c.method_remark,
  3075. a.sampling_qty,
  3076. (
  3077. SELECT COUNT(*)
  3078. FROM sys_oss
  3079. WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
  3080. ) AS imageDetailNum,
  3081. ISNULL(D.picture_flag,'N') as pictureFlag
  3082. FROM qc_iqc_detailed_record as a
  3083. INNER JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
  3084. INNER JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
  3085. INNER JOIN eam_properties_item as d on a.site = d.site and a.item_no = d.ItemNo and a.bu_no = d.bu_no
  3086. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  3087. order by a.order_id
  3088. </select>
  3089. <!-- 查询IQC的子明细 -->
  3090. <select id="selectIQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  3091. SELECT
  3092. site,
  3093. bu_no,
  3094. sub_detail_value,
  3095. sampling_location,
  3096. is_submit,
  3097. sampling_location_b,
  3098. num,
  3099. sub_detail_value_b,
  3100. sub_detail_value_c,
  3101. sub_detail_value_d,
  3102. sub_detail_value_e
  3103. FROM qc_iqc_sub_detail_record
  3104. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3105. <if test = "collectionDataContent != null and collectionDataContent != ''">
  3106. AND sub_detail_value ${collectionDataContent}
  3107. </if>
  3108. </select>
  3109. <!-- 获取该项目的子明细值 -->
  3110. <select id="selectIQCSubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
  3111. SELECT sub_detail_value,
  3112. sampling_location,
  3113. is_submit
  3114. FROM qc_iqc_sub_detail_record
  3115. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  3116. </select>
  3117. <!-- 修改IQC主记录信息 -->
  3118. <update id="updateIQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3119. UPDATE qc_iqc_record
  3120. SET disposal_measures = #{disposalMeasures},
  3121. disposal_remark = #{disposalRemark},
  3122. inspection_result = #{inspectionResult},
  3123. inspector_no = #{inspectorNo},
  3124. state = #{state},
  3125. inspection_remark = #{inspectionRemark},
  3126. inspector_date = getDate(),
  3127. roll_count = #{rollCount,jdbcType=DECIMAL},
  3128. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  3129. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  3130. pass_qty = #{passQty,jdbcType=DECIMAL},
  3131. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  3132. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  3133. submit_date = getDate()
  3134. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3135. </update>
  3136. <!-- 修改IQC明细记录信息 -->
  3137. <update id="updateIQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3138. UPDATE qc_iqc_detailed_record
  3139. SET item_result = #{itemResult},
  3140. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  3141. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  3142. text_value = #{textValue},
  3143. number_value = #{numberValue,jdbcType=DECIMAL}
  3144. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3145. </update>
  3146. <!-- 查询该记录明细是否已存在 -->
  3147. <select id="checkIQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3148. SELECT inspection_no,
  3149. template_id
  3150. FROM qc_iqc_detailed_record
  3151. WHERE inspection_no = #{inspectionNo} and site = #{site}
  3152. </select>
  3153. <!-- 查询IQC检验记录是否已提交 -->
  3154. <select id="checkIQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3155. SELECT submit_flag
  3156. FROM qc_iqc_record
  3157. WHERE inspection_no = #{inspectionNo} and site = #{site}
  3158. </select>
  3159. <!-- 删除IQC子明细的老数据 -->
  3160. <delete id="delIQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  3161. DELETE FROM qc_iqc_sub_detail_record
  3162. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3163. </delete>
  3164. <!-- ================================================= SQC检验维护 ================================================= -->
  3165. <!-- 查询SQC基础数据 -->
  3166. <select id="selectSQCBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3167. SELECT
  3168. qir.inspection_no,
  3169. qir.state,
  3170. qir.create_date as taskDate,
  3171. qir.roll_no,
  3172. qir.part_no,
  3173. p.PartDescription,
  3174. p.cinv_source_code,
  3175. p.sku as sku,
  3176. qir.roll_qty,
  3177. qir.print_flag,
  3178. qir.create_by,
  3179. qir.supplier_no,
  3180. qir.site,
  3181. qir.bu_no,
  3182. qir.po_orderNo,
  3183. qir.po_itemNo,
  3184. qir.roll_count
  3185. FROM qc_sqc_record as qir
  3186. LEFT JOIN part p ON qir.part_no = p.PartNo and qir.site = p.site
  3187. WHERE (qir.site + '-' + qir.bu_no) in (select * from dbo.query_bu(#{userName}))
  3188. </select>
  3189. <!-- 新增SQC明细记录信息 -->
  3190. <insert id="saveSQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3191. INSERT INTO qc_sqc_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)
  3192. 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})
  3193. </insert>
  3194. <!-- 修改SQC检验记录 -->
  3195. <update id="updateSQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3196. UPDATE qc_sqc_record
  3197. SET inspection_type_no = #{inspectionTypeNo},
  3198. sampling_qty = #{samplingQty},
  3199. inspection_cycle = #{inspectionCycle},
  3200. part_no = #{partNo},
  3201. supplier_no = #{supplierNo},
  3202. part_desc = #{partDesc},
  3203. detail_flag = 'Y',
  3204. state = '未开始',
  3205. action_date = '',
  3206. action_by = ''
  3207. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3208. </update>
  3209. <!-- 查询SQC主记录信息 -->
  3210. <select id="qcSQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3211. SELECT
  3212. a.inspection_no,
  3213. a.site,
  3214. a.bu_no,
  3215. a.state,
  3216. a.inspection_result,
  3217. a.create_date as taskDate,
  3218. a.inspection_type_no,
  3219. a.inspection_cycle,
  3220. a.part_no,
  3221. d.PartDescription as partDesc,
  3222. d.Spec as spec,
  3223. d.cinv_source_code as cinvSourceCode,
  3224. d.sku,
  3225. d.umid as umId,
  3226. d.invdefinetype as invdefinetype,
  3227. a.inspection_remark,
  3228. a.roll_qty,
  3229. a.sampling_qty,
  3230. a.disposal_measures,
  3231. a.disposal_remark,
  3232. a.inspector_date,
  3233. a.inspector_no,
  3234. u.user_display as inspectorName,
  3235. a.unqualified_quantity,
  3236. a.submit_flag,
  3237. a.roll_no,
  3238. a.supplier_no,
  3239. s.SupplierName as supplierDesc,
  3240. a.po_orderNo,
  3241. a.po_itemNo,
  3242. a.roll_count,
  3243. dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) as orderType,
  3244. a.action_date,
  3245. a.action_by,
  3246. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  3247. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  3248. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  3249. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  3250. a.submission_remark,
  3251. a.submission_type,
  3252. a.batch_no,
  3253. a.production_date,
  3254. a.expiration_warning_date,
  3255. a.expiration_date,
  3256. a.cancel_check_date,
  3257. a.submit_date,
  3258. a.pass_qty,
  3259. a.not_pass_qty,
  3260. a.batch_qualified_qty,
  3261. a.ref_info1,
  3262. a.ref_info2,
  3263. a.ref_info3,
  3264. a.ref_info4,
  3265. a.ref_info5
  3266. FROM qc_sqc_record as a
  3267. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.partNo
  3268. left join view_Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
  3269. left join sys_user as u on a.inspector_no = u.username
  3270. <where>
  3271. <if test="query.site != null and query.site != ''">
  3272. AND a.site = #{query.site}
  3273. </if>
  3274. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  3275. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  3276. </if>
  3277. <if test = "query.states != null and query.states.size > 0">
  3278. AND a.state in
  3279. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  3280. #{item}
  3281. </foreach>
  3282. </if>
  3283. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  3284. AND a.inspection_result = #{query.inspectionResult}
  3285. </if>
  3286. <if test = "query.partNo != null and query.partNo != ''">
  3287. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  3288. </if>
  3289. <if test = "query.partDesc != null and query.partDesc != ''">
  3290. AND a.part_desc LIKE '%' + #{query.partDesc} + '%'
  3291. </if>
  3292. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  3293. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  3294. </if>
  3295. <if test = "query.sku != null and query.sku != ''">
  3296. AND d.sku LIKE '%' + #{query.sku} + '%'
  3297. </if>
  3298. <if test = "query.supplierDesc != null and query.supplierDesc != ''">
  3299. AND s.SupplierName LIKE '%' + #{query.supplierDesc} + '%'
  3300. </if>
  3301. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  3302. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  3303. </if>
  3304. <if test = "query.inspectorName != null and query.inspectorName != ''">
  3305. u.user_display LIKE '%' + #{query.inspectorName} + '%'
  3306. </if>
  3307. <if test="query.startDate != null">
  3308. AND a.inspector_date >= #{query.startDate}
  3309. </if>
  3310. <if test="query.endDate != null">
  3311. AND #{query.endDate} >= a.inspector_date
  3312. </if>
  3313. <if test="query.startDate2 != null">
  3314. AND a.create_date >= #{query.startDate2}
  3315. </if>
  3316. <if test="query.endDate2 != null">
  3317. AND #{query.endDate2} >= a.create_date
  3318. </if>
  3319. <if test = "query.poOrderNo != null and query.poOrderNo != ''">
  3320. AND a.po_orderNo LIKE '%' + #{query.poOrderNo} + '%'
  3321. </if>
  3322. <if test = "query.poItemNo != null and query.poItemNo != ''">
  3323. AND a.po_itemNo LIKE '%' + #{query.poItemNo} + '%'
  3324. </if>
  3325. <if test = "query.orderType != null and query.orderType != ''">
  3326. AND dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) = #{query.orderType}
  3327. </if>
  3328. <if test = "query.submissionType != null and query.submissionType != ''">
  3329. AND a.submission_type = #{query.submissionType}
  3330. </if>
  3331. <if test = "query.spec != null and query.spec != ''">
  3332. AND d.Spec LIKE '%' + #{query.spec} + '%'
  3333. </if>
  3334. </where>
  3335. ORDER BY
  3336. CASE WHEN a.state = '待检验' THEN 1
  3337. WHEN a.state = '待审核' THEN 2
  3338. WHEN a.state = '已完成' THEN 3
  3339. END, a.create_date desc
  3340. </select>
  3341. <!-- SQC明细记录查询 -->
  3342. <select id="sqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3343. SELECT
  3344. a.site,
  3345. a.bu_no,
  3346. a.inspection_no,
  3347. a.template_id,
  3348. a.sampling_level_no,
  3349. a.sampling_level_desc,
  3350. a.sampling_programme_no,
  3351. a.sampling_programme_desc,
  3352. a.AQL,
  3353. a.AC,
  3354. a.RE,
  3355. a.item_no,
  3356. a.item_desc,
  3357. a.object_id,
  3358. a.object_desc,
  3359. a.default_value,
  3360. a.min_value,
  3361. a.max_value,
  3362. a.text_value,
  3363. a.number_value,
  3364. a.value_type_db,
  3365. a.value_type,
  3366. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  3367. a.is_submit,
  3368. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  3369. (
  3370. SELECT COUNT(*)
  3371. FROM qc_sqc_sub_detail_record s
  3372. WHERE s.site = a.site and s.bu_no = a.bu_no and s.inspection_no = a.inspection_no and s.item_no = a.item_no
  3373. ) as subDetailRecordNum,
  3374. c.method_no,
  3375. c.method_name,
  3376. c.method_remark,
  3377. a.sampling_qty,
  3378. (
  3379. SELECT COUNT(*)
  3380. FROM sys_oss
  3381. WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
  3382. ) AS imageDetailNum,
  3383. ISNULL(D.picture_flag,'N') as pictureFlag
  3384. FROM qc_sqc_detailed_record as a
  3385. INNER JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
  3386. INNER JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
  3387. INNER JOIN eam_properties_item as d on a.site = d.site and a.item_no = d.ItemNo and a.bu_no = d.bu_no
  3388. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  3389. order by a.order_id
  3390. </select>
  3391. <!-- 查询SQC的子明细 -->
  3392. <select id="selectSQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  3393. SELECT
  3394. site,
  3395. bu_no,
  3396. sub_detail_value,
  3397. sampling_location,
  3398. is_submit,
  3399. sampling_location_b,
  3400. num,
  3401. sub_detail_value_b,
  3402. sub_detail_value_c,
  3403. sub_detail_value_d,
  3404. sub_detail_value_e,
  3405. sub_detail_value_f,
  3406. sub_detail_value_g,
  3407. sub_detail_value_h,
  3408. sub_detail_value_i,
  3409. sub_detail_value_j
  3410. FROM qc_sqc_sub_detail_record
  3411. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3412. <if test = "collectionDataContent != null and collectionDataContent != ''">
  3413. AND sub_detail_value ${collectionDataContent}
  3414. </if>
  3415. </select>
  3416. <!-- 获取该项目的子明细值 -->
  3417. <select id="selectSQCSubDetailValue" resultType="com.heai.modules.pms.data.SubDetailValues">
  3418. SELECT sub_detail_value,
  3419. sampling_location,
  3420. is_submit
  3421. FROM qc_sqc_sub_detail_record
  3422. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3423. </select>
  3424. <!-- 修改SQC主记录信息 -->
  3425. <update id="updateSQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3426. UPDATE qc_sqc_record
  3427. SET disposal_measures = #{disposalMeasures},
  3428. disposal_remark = #{disposalRemark},
  3429. inspection_result = #{inspectionResult},
  3430. inspector_no = #{inspectorNo},
  3431. state = #{state},
  3432. inspection_remark = #{inspectionRemark},
  3433. inspector_date = getDate(),
  3434. roll_count = #{rollCount,jdbcType=DECIMAL},
  3435. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  3436. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  3437. pass_qty = #{passQty,jdbcType=DECIMAL},
  3438. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  3439. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  3440. submit_date = getDate()
  3441. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3442. </update>
  3443. <!-- 修改SQC明细记录信息 -->
  3444. <update id="updateSQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3445. UPDATE qc_sqc_detailed_record
  3446. SET item_result = #{itemResult},
  3447. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  3448. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  3449. text_value = #{textValue},
  3450. number_value = #{numberValue,jdbcType=DECIMAL}
  3451. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3452. </update>
  3453. <!-- 查询该记录明细是否已存在 -->
  3454. <select id="checkSQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3455. SELECT inspection_no,
  3456. template_id
  3457. FROM qc_sqc_detailed_record
  3458. WHERE inspection_no = #{inspectionNo} and site = #{site}
  3459. </select>
  3460. <!-- 查询SQC检验记录是否已提交 -->
  3461. <select id="checkSQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3462. SELECT submit_flag
  3463. FROM qc_sqc_record
  3464. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3465. </select>
  3466. <!-- 删除SQC子明细的老数据 -->
  3467. <delete id="delSQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  3468. DELETE FROM qc_sqc_sub_detail_record
  3469. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3470. </delete>
  3471. <!-- 新增SQC子明细信息 -->
  3472. <insert id="saveSQCSubDetailed">
  3473. INSERT INTO qc_sqc_sub_detail_record
  3474. (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, sub_detail_value_f, sub_detail_value_g, sub_detail_value_h, sub_detail_value_i, sub_detail_value_j)
  3475. VALUES
  3476. <foreach collection="list" item="item" separator=",">
  3477. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE}, #{item.subDetailValueF}, #{item.subDetailValueG}, #{item.subDetailValueH}, #{item.subDetailValueI}, #{item.subDetailValueJ})
  3478. </foreach>
  3479. </insert>
  3480. <!-- 修改SQC主记录标识为已提交 -->
  3481. <update id="updateSQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3482. UPDATE qc_sqc_record
  3483. SET submit_flag = 'Y',
  3484. state = '已完成',
  3485. submit_date = getDate()
  3486. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3487. </update>
  3488. <!-- 修改SQC明细记录标识为已提交 -->
  3489. <update id="updateSQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3490. UPDATE qc_sqc_detailed_record
  3491. SET is_submit = 'Y'
  3492. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3493. </update>
  3494. <!-- 修改SQC子明细记录标识为已提交 -->
  3495. <update id="updateSQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3496. UPDATE qc_sqc_sub_detail_record
  3497. SET is_submit = 'Y'
  3498. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3499. </update>
  3500. <!-- 删除SQC检验记录 -->
  3501. <delete id="deleteSQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3502. DELETE FROM qc_sqc_record
  3503. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3504. </delete>
  3505. <!-- 删除SQC明细记录信息 -->
  3506. <delete id="deleteSQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3507. DELETE FROM qc_sqc_detailed_record
  3508. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3509. </delete>
  3510. <!-- 删除SQC子明细记录信息 -->
  3511. <delete id="deleteSQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3512. DELETE FROM qc_sqc_sub_detail_record
  3513. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3514. </delete>
  3515. <!-- 新增IQC子明细信息 -->
  3516. <insert id="saveIQCSubDetailed">
  3517. INSERT INTO qc_iqc_sub_detail_record
  3518. (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)
  3519. VALUES
  3520. <foreach collection="list" item="item" separator=",">
  3521. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
  3522. </foreach>
  3523. </insert>
  3524. <!-- 修改IQC主记录标识为已提交 -->
  3525. <update id="updateIQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3526. UPDATE qc_iqc_record
  3527. SET submit_flag = 'Y',
  3528. state = '已完成',
  3529. submit_date = getDate()
  3530. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3531. </update>
  3532. <!-- 修改IQC明细记录标识为已提交 -->
  3533. <update id="updateIQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3534. UPDATE qc_iqc_detailed_record
  3535. SET is_submit = 'Y'
  3536. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3537. </update>
  3538. <!-- 修改IQC子明细记录标识为已提交 -->
  3539. <update id="updateIQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3540. UPDATE qc_iqc_sub_detail_record
  3541. SET is_submit = 'Y'
  3542. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3543. </update>
  3544. <!-- 删除IQC检验记录 -->
  3545. <delete id="deleteIQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3546. DELETE FROM qc_iqc_record
  3547. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3548. </delete>
  3549. <!-- 删除IQC明细记录信息 -->
  3550. <delete id="deleteIQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3551. DELETE FROM qc_iqc_detailed_record
  3552. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3553. </delete>
  3554. <!-- 删除IQC子明细记录信息 -->
  3555. <delete id="deleteIQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3556. DELETE FROM qc_iqc_sub_detail_record
  3557. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3558. </delete>
  3559. <!-- 查询文件ID -->
  3560. <select id="queryFileId" parameterType="com.heai.modules.oss.entity.SysOssEntity" resultType="com.heai.modules.oss.entity.SysOssEntity">
  3561. SELECT id, file_name
  3562. FROM sys_oss
  3563. WHERE order_ref1 = #{orderRef1} and order_ref2 = #{orderRef2}
  3564. </select>
  3565. <!-- 获取工序列表 -->
  3566. <select id="getOperationDescList" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  3567. select DISTINCT OperationDesc from RoutingDetail
  3568. <where>
  3569. <if test = "operationDesc != null and operationDesc != ''">
  3570. AND OperationDesc LIKE '%' + #{operationDesc} + '%'
  3571. </if>
  3572. </where>
  3573. </select>
  3574. <!-- 获取供应商列表 -->
  3575. <select id="getManufacturerList" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  3576. SELECT
  3577. supplierID as manufacturerID,
  3578. supplierName as manufacturerName
  3579. FROM view_Supplier
  3580. <where>
  3581. site = #{site}
  3582. <if test = "manufacturerID != null and manufacturerID != ''">
  3583. AND supplierID LIKE '%' + #{manufacturerID} + '%'
  3584. </if>
  3585. <if test = "manufacturerName != null and manufacturerName != ''">
  3586. AND supplierName LIKE '%' + #{manufacturerName} + '%'
  3587. </if>
  3588. </where>
  3589. </select>
  3590. <!-- 获取客户列表(物料模板 OQC) -->
  3591. <select id="getCustomerList" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  3592. SELECT
  3593. CustomerID as customerID,
  3594. CustomerName as customerName
  3595. FROM Customer
  3596. <where>
  3597. site = #{site}
  3598. <if test = "customerID != null and customerID != ''">
  3599. AND CustomerID LIKE '%' + #{customerID} + '%'
  3600. </if>
  3601. <if test = "customerName != null and customerName != ''">
  3602. AND CustomerName LIKE '%' + #{customerName} + '%'
  3603. </if>
  3604. </where>
  3605. </select>
  3606. <!-- 校验物料属性模板:工序+机台(resource/operation 为空时按 IS NULL 匹配) -->
  3607. <select id="getPA" parameterType="com.heai.modules.pms.data.QcTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData">
  3608. SELECT
  3609. site,
  3610. bu_no,
  3611. attribute_no,
  3612. template_id,
  3613. sampling_level_no,
  3614. sampling_programme_no,
  3615. attribute_type,
  3616. resource_id,
  3617. operation
  3618. FROM qc_attribute_template
  3619. WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and template_id = #{templateId}
  3620. <choose>
  3621. <when test="operation != null and operation != ''">
  3622. AND operation = #{operation}
  3623. </when>
  3624. <otherwise>
  3625. AND (operation IS NULL OR operation = '')
  3626. </otherwise>
  3627. </choose>
  3628. <choose>
  3629. <when test="resourceID != null and resourceID != ''">
  3630. AND resource_id = #{resourceID}
  3631. </when>
  3632. <otherwise>
  3633. AND (resource_id IS NULL OR resource_id = '')
  3634. </otherwise>
  3635. </choose>
  3636. </select>
  3637. <!-- 校验物料属性模板:供应商 -->
  3638. <select id="getPA2" parameterType="com.heai.modules.pms.data.QcTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData">
  3639. SELECT
  3640. site,
  3641. bu_no,
  3642. attribute_no,
  3643. template_id,
  3644. sampling_level_no,
  3645. sampling_programme_no,
  3646. attribute_type,
  3647. manufacturer_id
  3648. FROM qc_attribute_template
  3649. WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and template_id = #{templateId} and manufacturer_id = #{manufacturerID}
  3650. </select>
  3651. <!-- 校验物料属性模板:客户 -->
  3652. <select id="getPA3" parameterType="com.heai.modules.pms.data.QcTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData">
  3653. SELECT
  3654. site,
  3655. bu_no,
  3656. attribute_no,
  3657. template_id,
  3658. sampling_level_no,
  3659. sampling_programme_no,
  3660. attribute_type,
  3661. customer_id
  3662. FROM qc_attribute_template
  3663. WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and template_id = #{templateId} and customer_id = #{customerID}
  3664. </select>
  3665. <!-- 获取机台列表 -->
  3666. <select id="getAllResourceList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3667. SELECT distinct
  3668. resource_id,
  3669. resource_desc
  3670. FROM resource
  3671. <where>
  3672. site = #{site}
  3673. <if test = "resourceId != null and resourceId != ''">
  3674. AND resource_id LIKE '%' + #{resourceId} + '%'
  3675. </if>
  3676. <if test = "resourceDesc != null and resourceDesc != ''">
  3677. AND resource_desc LIKE '%' + #{resourceDesc} + '%'
  3678. </if>
  3679. </where>
  3680. </select>
  3681. <!-- 获取工单列表 -->
  3682. <select id="getOrderNoList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3683. SELECT DISTINCT
  3684. a.orderno as orderNo
  3685. FROM soscheduledrouting as a
  3686. LEFT JOIN sfdc as b ON a.site = b.site and a.seqno = b.assjob_seq_no
  3687. LEFT JOIN so_routing as c ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
  3688. LEFT JOIN part j ON a.site = j.site and a.part_no = j.part_no
  3689. <where>
  3690. a.site = #{site}
  3691. AND b.approve_qty is not null
  3692. <if test = "orderNo != null and orderNo != ''">
  3693. AND a.orderno LIKE '%' + #{orderNo} + '%'
  3694. </if>
  3695. </where>
  3696. order by a.orderno DESC
  3697. </select>
  3698. <!-- 查询FQC主记录信息 -->
  3699. <select id="qcFQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3700. SELECT
  3701. a.inspection_no,
  3702. a.site,
  3703. a.bu_no,
  3704. a.state,
  3705. a.inspection_result,
  3706. a.task_date,
  3707. a.inspection_type_no,
  3708. dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) as inspectionTypeName,
  3709. a.inspection_cycle,
  3710. a.order_no,
  3711. a.operation_desc,
  3712. a.resource_id,
  3713. r.resource_desc,
  3714. a.part_no,
  3715. d.PartDescription as partDesc,
  3716. d.Spec as spec,
  3717. d.cinv_source_code as cinvSourceCode,
  3718. d.sku as sku,
  3719. d.invdefinetype as invdefinetype,
  3720. a.inspection_remark,
  3721. a.roll_qty,
  3722. a.sampling_qty,
  3723. a.disposal_measures,
  3724. a.disposal_remark,
  3725. a.inspector_date,
  3726. a.inspector_no,
  3727. u.user_display as inspectorName,
  3728. a.ssr_id,
  3729. a.unqualified_qty,
  3730. a.submit_flag,
  3731. a.seq_no,
  3732. a.batch_roll_no,
  3733. a.special_requirements,
  3734. a.work_center_no,
  3735. a.roll_no,
  3736. a.um_id,
  3737. um.UMName as umName,
  3738. a.action_date,
  3739. a.action_by,
  3740. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  3741. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  3742. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  3743. isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  3744. a.pass_qty,
  3745. a.not_pass_qty,
  3746. a.batch_qualified_qty,
  3747. a.receipt_no,
  3748. a.receipt_item_no,
  3749. a.ref_info1,
  3750. a.ref_info2,
  3751. a.ref_info3,
  3752. a.ref_info4,
  3753. a.ref_info5
  3754. FROM qc_fqc_record as a
  3755. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.partNo
  3756. left join sys_user as u on a.inspector_no = u.username
  3757. 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
  3758. left join UM as um on a.site = um.site and a.um_id = um.UMID
  3759. <where>
  3760. <if test="query.site != null and query.site != ''">
  3761. AND a.site = #{query.site}
  3762. </if>
  3763. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  3764. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  3765. </if>
  3766. <if test = "query.partNo != null and query.partNo != ''">
  3767. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  3768. </if>
  3769. <if test = "query.partDesc != null and query.partDesc != ''">
  3770. AND d.PartDescription LIKE '%' + #{query.partDesc} + '%'
  3771. </if>
  3772. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  3773. AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  3774. </if>
  3775. <if test = "query.sku != null and query.sku != ''">
  3776. AND d.sku LIKE '%' + #{query.sku} + '%'
  3777. </if>
  3778. <if test = "query.spec != null and query.spec != ''">
  3779. AND d.Spec LIKE '%' + #{query.spec} + '%'
  3780. </if>
  3781. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  3782. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  3783. </if>
  3784. <if test = "query.states != null and query.states.size > 0">
  3785. AND a.state in
  3786. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  3787. #{item}
  3788. </foreach>
  3789. </if>
  3790. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  3791. AND a.inspection_result = #{query.inspectionResult}
  3792. </if>
  3793. <if test = "query.orderNo != null and query.orderNo != ''">
  3794. AND a.order_no LIKE '%' + #{query.orderNo} + '%'
  3795. </if>
  3796. <if test = "query.seqNo != null and query.seqNo != ''">
  3797. AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
  3798. </if>
  3799. <if test = "query.operationDesc != null and query.operationDesc != ''">
  3800. AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  3801. </if>
  3802. <if test="query.startDate != null">
  3803. AND a.inspector_date >= #{query.startDate}
  3804. </if>
  3805. <if test="query.endDate != null">
  3806. AND #{query.endDate} >= a.inspector_date
  3807. </if>
  3808. <if test="query.startDate2 != null">
  3809. AND a.task_date >= #{query.startDate2}
  3810. </if>
  3811. <if test="query.endDate2 != null">
  3812. AND #{query.endDate2} >= a.task_date
  3813. </if>
  3814. </where>
  3815. ORDER BY
  3816. CASE WHEN a.state = '待检验' THEN 1
  3817. WHEN a.state = '待审核' THEN 2
  3818. WHEN a.state = '已完成' THEN 3
  3819. END, a.task_date desc
  3820. </select>
  3821. <insert id="saveFQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3822. INSERT INTO qc_fqc_detailed_record
  3823. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  3824. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  3825. max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
  3826. VALUES
  3827. (#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
  3828. #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
  3829. #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
  3830. </insert>
  3831. <!-- 新增FQC明细记录信息 -->
  3832. <insert id="saveFQCDetailedRecords">
  3833. INSERT INTO qc_fqc_detailed_record
  3834. (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
  3835. AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
  3836. max_value, value_type_db, value_type, site, sampling_qty, bu_no, order_id)
  3837. VALUES
  3838. <foreach collection="list" item="item" separator=",">
  3839. (#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc},
  3840. #{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},
  3841. #{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId})
  3842. </foreach>
  3843. </insert>
  3844. <!-- 新增FQC主记录信息 -->
  3845. <insert id="saveFQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3846. INSERT INTO qc_fqc_record
  3847. (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
  3848. part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id,ref_info1,ref_info2)
  3849. VALUES
  3850. (#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
  3851. #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId},#{refInfo1},#{refInfo2})
  3852. </insert>
  3853. <!-- FQC明细记录查询 -->
  3854. <select id="fqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  3855. SELECT
  3856. a.site,
  3857. a.bu_no,
  3858. a.inspection_no,
  3859. a.order_no,
  3860. a.template_id,
  3861. a.sampling_level_no,
  3862. a.sampling_level_desc,
  3863. a.sampling_programme_no,
  3864. a.sampling_programme_desc,
  3865. a.AQL,
  3866. a.AC,
  3867. a.RE,
  3868. a.item_no,
  3869. a.item_desc,
  3870. a.object_id,
  3871. a.object_desc,
  3872. a.default_value,
  3873. a.min_value,
  3874. a.max_value,
  3875. a.text_value,
  3876. a.number_value,
  3877. a.value_type_db,
  3878. a.value_type,
  3879. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  3880. a.is_submit,
  3881. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  3882. a.sampling_qty,
  3883. dbo.qc_get_fqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  3884. c.method_no,
  3885. c.method_name,
  3886. c.method_remark,
  3887. (
  3888. SELECT COUNT(*)
  3889. FROM sys_oss
  3890. WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
  3891. ) AS imageDetailNum,
  3892. ISNULL(D.picture_flag,'N') as pictureFlag
  3893. FROM qc_fqc_detailed_record as a
  3894. INNER JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
  3895. INNER JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
  3896. INNER JOIN eam_properties_item as d on a.site = d.site and a.item_no = d.ItemNo and a.bu_no = d.bu_no
  3897. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  3898. order by a.order_id
  3899. </select>
  3900. <!-- 删除FQC检验记录 -->
  3901. <delete id="deleteFQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3902. DELETE FROM qc_fqc_record
  3903. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3904. </delete>
  3905. <!-- 删除FQC明细记录信息 -->
  3906. <delete id="deleteFQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3907. DELETE FROM qc_fqc_detailed_record
  3908. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3909. </delete>
  3910. <!-- 删除FQC子明细记录信息 -->
  3911. <delete id="deleteFQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3912. DELETE FROM qc_fqc_sub_detail_record
  3913. WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  3914. </delete>
  3915. <!-- 修改FQC主记录信息 -->
  3916. <update id="updateFQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3917. UPDATE qc_fqc_record
  3918. SET disposal_measures = #{disposalMeasures},
  3919. disposal_remark = #{disposalRemark},
  3920. inspection_result = #{inspectionResult},
  3921. inspector_no = #{inspectorNo},
  3922. state = #{state},
  3923. inspection_remark = #{inspectionRemark},
  3924. inspector_date = getDate(),
  3925. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  3926. roll_qty = #{rollQty,jdbcType=DECIMAL},
  3927. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  3928. pass_qty = #{passQty,jdbcType=DECIMAL},
  3929. not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
  3930. batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
  3931. submit_date = getDate()
  3932. WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
  3933. </update>
  3934. <!-- 修改FQC明细记录信息 -->
  3935. <update id="updateFQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3936. UPDATE qc_fqc_detailed_record
  3937. SET item_result = #{itemResult},
  3938. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  3939. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  3940. text_value = #{textValue},
  3941. number_value = #{numberValue,jdbcType=DECIMAL}
  3942. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3943. </update>
  3944. <!-- 修改FQC主记录标识为已提交 -->
  3945. <update id="updateFQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3946. UPDATE qc_fqc_record
  3947. SET submit_flag = 'Y',
  3948. state = '已完成',
  3949. submit_date = getDate()
  3950. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3951. </update>
  3952. <!-- 修改FAI明细记录标识为已提交 -->
  3953. <update id="updateFQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3954. UPDATE qc_fqc_detailed_record
  3955. SET is_submit = 'Y'
  3956. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3957. </update>
  3958. <!-- 修改子明细记录标识为已提交 -->
  3959. <update id="updateFQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  3960. UPDATE qc_fqc_sub_detail_record
  3961. SET is_submit = 'Y'
  3962. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  3963. </update>
  3964. <!-- 删除子明细的老数据 -->
  3965. <delete id="delFQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  3966. DELETE FROM qc_fqc_sub_detail_record
  3967. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3968. </delete>
  3969. <!-- 新增子明细信息 -->
  3970. <insert id="saveFQCSubDetailed">
  3971. INSERT INTO qc_fqc_sub_detail_record
  3972. (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)
  3973. VALUES
  3974. <foreach collection="list" item="item" separator=",">
  3975. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
  3976. </foreach>
  3977. </insert>
  3978. <!-- 查询FQC的子明细 -->
  3979. <select id="selectFQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  3980. SELECT
  3981. site,
  3982. bu_no,
  3983. sub_detail_value,
  3984. sampling_location,
  3985. is_submit,
  3986. sampling_location_b,
  3987. num,
  3988. sub_detail_value_b,
  3989. sub_detail_value_c,
  3990. sub_detail_value_d,
  3991. sub_detail_value_e
  3992. FROM qc_fqc_sub_detail_record
  3993. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  3994. <if test = "collectionDataContent != null and collectionDataContent != ''">
  3995. AND sub_detail_value ${collectionDataContent}
  3996. </if>
  3997. </select>
  3998. <!-- 查询FQC检验记录是否已提交 -->
  3999. <select id="checkFQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  4000. SELECT submit_flag
  4001. FROM qc_fqc_record
  4002. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  4003. </select>
  4004. <!-- 获取该项目的子明细值 -->
  4005. <select id="selectFQCSubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
  4006. SELECT sub_detail_value,
  4007. sampling_location,
  4008. is_submit
  4009. FROM qc_fqc_sub_detail_record
  4010. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  4011. </select>
  4012. <!-- 生成FQC检验单号 -->
  4013. <select id="selectFQCInspectionNo" resultType="string" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4014. SELECT
  4015. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,4,10))),0)+1),8)
  4016. FROM qc_fqc_record
  4017. WHERE site = #{site} and bu_no = #{buNo}
  4018. </select>
  4019. <!-- 生成IPQC检验单号 -->
  4020. <select id="selectIPQCInspectionNo" resultType="string" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4021. SELECT
  4022. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,5,10))),0)+1),8)
  4023. FROM qc_ipqc_record
  4024. WHERE site = #{site} and bu_no = #{buNo}
  4025. </select>
  4026. <select id="selectIQCInspectionNo" resultType="java.lang.String">
  4027. SELECT
  4028. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,5,10))),0)+1),8)
  4029. FROM qc_iqc_record
  4030. WHERE site = #{site} and bu_no = #{buNo}
  4031. </select>
  4032. <select id="selectSQCInspectionNo" resultType="java.lang.String">
  4033. SELECT
  4034. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,5,10))),0)+1),8)
  4035. FROM qc_sqc_record
  4036. WHERE site = #{site} and bu_no = #{buNo}
  4037. </select>
  4038. <!-- 生成FAI检验单号 -->
  4039. <select id="selectFAIInspectionNo" resultType="string" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4040. SELECT
  4041. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,4,10))),0)+1),8)
  4042. FROM qc_fai_record
  4043. WHERE site = #{site} and bu_no = #{buNo}
  4044. </select>
  4045. <!-- 根据 site、po_orderNo、po_itemNo 从 view_po_order 中查出数据 -->
  4046. <select id="queryDataFromViewPoOrder" resultType="com.heai.modules.pms.data.PoOrderData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4047. SELECT
  4048. site,
  4049. order_no,
  4050. item_no,
  4051. part_no,
  4052. part_desc,
  4053. spec,
  4054. supplier_id,
  4055. supplier_name,
  4056. order_qty,
  4057. created_date,
  4058. status,
  4059. citem_code,
  4060. citem_class,
  4061. sendto_address,
  4062. order_type
  4063. FROM view_po_order
  4064. WHERE site = #{site} and order_no = #{poOrderNo} and item_no = #{poItemNo}
  4065. </select>
  4066. <!-- 向收货任务表里添加数据 -->
  4067. <insert id="saveReceivingTask" parameterType="com.heai.modules.pms.data.PoOrderData">
  4068. 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)
  4069. VALUES (#{site}, #{orderNo}, #{itemNo}, #{partNo}, #{partDesc}, #{spec}, #{supplierId}, #{supplierName}, #{orderQty}, getDate(), #{status}, #{citemCode}, #{citemClass}, #{sendtoAddress}, #{orderType}, #{inspectionNo}, #{batchNo}, #{productionDate}, #{expirationWarningDate}, #{expirationDate})
  4070. </insert>
  4071. <!-- 检查动控是否开启 -->
  4072. <select id="queryController" parameterType="com.heai.modules.sys.entity.SysSceneDynamicControlModelEntity" resultType="com.heai.modules.sys.entity.SysSceneDynamicControlModelEntity">
  4073. SELECT
  4074. type,
  4075. base_data,
  4076. base_desc,
  4077. status,
  4078. remark,
  4079. third_type,
  4080. second_type,
  4081. page_control,
  4082. control_style
  4083. FROM sys_scene_dynamic_control_model
  4084. where site = #{site} and control_no = #{controlNo}
  4085. </select>
  4086. <!-- 最终检验完成自动审核:查询IQC主记录 -->
  4087. <select id="selectIQCRecordForAutoSubmit" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  4088. SELECT
  4089. site,
  4090. bu_no,
  4091. inspection_no,
  4092. inspection_result,
  4093. disposal_measures,
  4094. disposal_remark,
  4095. inspection_remark,
  4096. roll_qty,
  4097. roll_count,
  4098. batch_qualified_qty,
  4099. pass_qty,
  4100. not_pass_qty,
  4101. po_orderNo,
  4102. po_itemNo,
  4103. part_no,
  4104. batch_no,
  4105. production_date,
  4106. expiration_warning_date,
  4107. expiration_date,
  4108. ref_info1,
  4109. ref_info2
  4110. FROM qc_iqc_record
  4111. WHERE site = #{site} AND bu_no = #{buNo} AND inspection_no = #{inspectionNo}
  4112. </select>
  4113. <!-- 最终检验完成自动审核:查询IPQC主记录 -->
  4114. <select id="selectIPQCRecordForAutoSubmit" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  4115. SELECT
  4116. site,
  4117. bu_no,
  4118. inspection_no,
  4119. inspection_result,
  4120. disposal_measures,
  4121. disposal_remark,
  4122. inspection_remark,
  4123. roll_qty,
  4124. batch_qualified_qty,
  4125. pass_qty,
  4126. not_pass_qty,
  4127. part_no,
  4128. ref_info1,
  4129. ref_info2
  4130. FROM qc_ipqc_record
  4131. WHERE site = #{site} AND bu_no = #{buNo} AND inspection_no = #{inspectionNo}
  4132. </select>
  4133. <!-- 最终检验完成自动审核:查询FQC主记录 -->
  4134. <select id="selectFQCRecordForAutoSubmit" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  4135. SELECT
  4136. site,
  4137. bu_no,
  4138. inspection_no,
  4139. inspection_result,
  4140. disposal_measures,
  4141. disposal_remark,
  4142. inspection_remark,
  4143. roll_qty,
  4144. batch_qualified_qty,
  4145. pass_qty,
  4146. not_pass_qty,
  4147. part_no,
  4148. ref_info1,
  4149. ref_info2
  4150. FROM qc_fqc_record
  4151. WHERE site = #{site} AND bu_no = #{buNo} AND inspection_no = #{inspectionNo}
  4152. </select>
  4153. <!-- 最终检验完成自动审核:查询SQC主记录 -->
  4154. <select id="selectSQCRecordForAutoSubmit" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  4155. SELECT
  4156. site,
  4157. bu_no,
  4158. inspection_no,
  4159. inspection_result,
  4160. disposal_measures,
  4161. disposal_remark,
  4162. inspection_remark,
  4163. roll_qty,
  4164. roll_count,
  4165. batch_qualified_qty,
  4166. pass_qty,
  4167. not_pass_qty,
  4168. part_no,
  4169. ref_info1,
  4170. ref_info2
  4171. FROM qc_sqc_record
  4172. WHERE site = #{site} AND bu_no = #{buNo} AND inspection_no = #{inspectionNo}
  4173. </select>
  4174. <!-- 最终检验完成自动审核:查询OQC(FQAS)主记录 -->
  4175. <select id="selectFQASRecordForAutoSubmit" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  4176. SELECT
  4177. site,
  4178. bu_no,
  4179. inspection_no,
  4180. inspection_result,
  4181. disposal_measures,
  4182. disposal_remark,
  4183. inspection_remark,
  4184. roll_qty,
  4185. roll_count,
  4186. pass_qty,
  4187. not_pass_qty,
  4188. part_no,
  4189. del_notify_No AS delNotifyNo,
  4190. del_notify_itemNo AS delNotifyItemNo
  4191. FROM qc_oqc_record
  4192. WHERE site = #{site} AND bu_no = #{buNo} AND inspection_no = #{inspectionNo}
  4193. </select>
  4194. <!-- 查询检验模板列表 -->
  4195. <select id="queryTemplateList" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  4196. SELECT
  4197. site,
  4198. bu_no,
  4199. template_id as templateId,
  4200. template_name as templateName,
  4201. dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName
  4202. FROM qc_template
  4203. <where>
  4204. site = #{site} and bu_no = #{buNo} and dbo.qc_get_inspection_type_name(site, inspection_type_no) = #{inspectionTypeName}
  4205. <if test = "templateId != null and templateId != ''">
  4206. AND template_id LIKE '%' + #{templateId}+'%'
  4207. </if>
  4208. <if test = "templateName != null and templateName != ''">
  4209. AND template_name LIKE '%' + #{templateName}+'%'
  4210. </if>
  4211. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  4212. AND inspection_type_no = #{inspectionTypeNo}
  4213. </if>
  4214. </where>
  4215. </select>
  4216. <!-- 查询检验模板列表 -->
  4217. <select id="getPartInformation" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4218. select
  4219. PartNo,
  4220. PartDescription,
  4221. spec,
  4222. sku,
  4223. DefaultWarehouseID as defaultWarehouseId
  4224. from part
  4225. where site = #{site} and part_no = #{partNo}
  4226. </select>
  4227. <!-- 获取特殊工序列表 -->
  4228. <select id="getSpecialOperationList" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4229. select
  4230. site,
  4231. operation_no,
  4232. operation_desc
  4233. from qc_special_task_operation
  4234. where site = #{site}
  4235. </select>
  4236. <!-- 获取处置措施列表 -->
  4237. <select id="disposalMeasuresSearch" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4238. SELECT
  4239. id,
  4240. disposal_measures
  4241. FROM qc_disposal_measures
  4242. <where>
  4243. <if test = "inspectionTypeNo != '101'">
  4244. inspection_type != 'IPQC'
  4245. </if>
  4246. </where>
  4247. </select>
  4248. <!-- 查询文件路径 -->
  4249. <select id="searchItemFileUrl" resultType="com.heai.modules.oss.entity.SysOssEntity" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4250. SELECT
  4251. id,
  4252. url,
  4253. file_name
  4254. FROM sys_oss
  4255. WHERE order_ref1 = #{site} and order_ref2 = #{inspectionNo} and order_ref3 = #{itemNo} and order_ref4 = #{buNo}
  4256. </select>
  4257. <!-- 删除图片-->
  4258. <delete id="imageDelete" parameterType="com.heai.modules.oss.entity.SysOssEntity">
  4259. DELETE FROM sys_oss
  4260. WHERE id = #{id}
  4261. </delete>
  4262. <!-- 模糊查询标签号 -->
  4263. <select id="getRollNo" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4264. SELECT DISTINCT top 3
  4265. a.seqno,
  4266. a.orderno,
  4267. b.roll_no
  4268. FROM soscheduledrouting AS a
  4269. LEFT JOIN sfdc_rolls AS b ON a.site = b.site AND a.seqno = b.createdops_seqno
  4270. WHERE a.site = #{site} and b.roll_no like '%' + #{rollNo} + '%'
  4271. </select>
  4272. <!-- 标签号回车事件 -->
  4273. <select id="rollNoEnter" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4274. SELECT
  4275. a.site,
  4276. a.seqno as seqNo,
  4277. a.orderno as orderNo,
  4278. b.roll_no,
  4279. #{inspectionTypeNo} as inspectionTypeNo
  4280. FROM soscheduledrouting AS a
  4281. LEFT JOIN sfdc_rolls AS b ON a.site = b.site AND a.seqno = b.createdops_seqno
  4282. WHERE a.site = #{site} and b.roll_no = #{rollNo}
  4283. </select>
  4284. <!-- 查询物料列表 -->
  4285. <select id="queryPartList" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4286. SELECT
  4287. site,
  4288. PartNo,
  4289. PartDescription as part_desc,
  4290. sku,
  4291. spec
  4292. FROM part
  4293. <where>
  4294. site = #{site}
  4295. <if test = "partNo != null and partNo != ''">
  4296. AND PartNo LIKE '%' + #{partNo} + '%'
  4297. </if>
  4298. <if test = "partDesc != null and partDesc != ''">
  4299. AND PartDescription LIKE '%' + #{partDesc} + '%'
  4300. </if>
  4301. <if test = "sku != null and sku != ''">
  4302. AND sku LIKE '%' + #{sku} + '%'
  4303. </if>
  4304. </where>
  4305. </select>
  4306. <!-- 查询单位列表 -->
  4307. <select id="umSearch" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4308. SELECT
  4309. site,
  4310. UMID as umId,
  4311. UMName as umName
  4312. FROM UM
  4313. WHERE site = #{site} and active = #{active}
  4314. </select>
  4315. <!-- 查询单位列表 -->
  4316. <select id="checkItem" resultType="com.heai.modules.pms.data.SubDetailValues" parameterType="com.heai.modules.pms.data.SubDetailValues">
  4317. SELECT
  4318. site,
  4319. bu_no,
  4320. inspection_no,
  4321. item_no,
  4322. value_type_db,
  4323. min_value,
  4324. max_value
  4325. <if test = "flag == 'IPQC'">
  4326. FROM qc_ipqc_detailed_record
  4327. </if>
  4328. <if test = "flag == 'IQC'">
  4329. FROM qc_iqc_detailed_record
  4330. </if>
  4331. <if test = "flag == 'FQC'">
  4332. FROM qc_fqc_detailed_record
  4333. </if>
  4334. <if test = "flag == 'FAI'">
  4335. FROM qc_fai_detailed_record
  4336. </if>
  4337. <if test = "flag == 'SQC'">
  4338. FROM qc_sqc_detailed_record
  4339. </if>
  4340. WHERE site = #{site} and inspection_no = #{inspectionNo} and item_no = #{itemNo} and bu_no = #{buNo}
  4341. order by order_id
  4342. </select>
  4343. <!-- 查询检验方法列表 -->
  4344. <select id="queryMethodList" resultType="com.heai.modules.pms.data.QcMethodData" parameterType="com.heai.modules.pms.data.QcMethodData">
  4345. SELECT
  4346. site,
  4347. bu_no,
  4348. method_no,
  4349. method_name,
  4350. inspection_type_no,
  4351. dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName
  4352. FROM qc_method
  4353. <where>
  4354. site = #{site}
  4355. <if test = "methodNo != null and methodNo != ''">
  4356. AND method_no LIKE '%' + #{methodNo} + '%'
  4357. </if>
  4358. <if test = "methodName != null and methodName != ''">
  4359. AND method_name LIKE '%' + #{methodName} + '%'
  4360. </if>
  4361. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  4362. AND inspection_type_no = #{inspectionTypeNo}
  4363. </if>
  4364. <if test="inspectionTypeName != null and inspectionTypeName != ''">
  4365. AND dbo.qc_get_inspection_type_name(site, inspection_type_no) = #{inspectionTypeName}
  4366. </if>
  4367. </where>
  4368. </select>
  4369. <!-- 修改detailFlag字段为N -->
  4370. <update id="updateIQCDetailFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4371. UPDATE qc_iqc_record
  4372. SET detail_flag = 'N'
  4373. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  4374. </update>
  4375. <!-- 查询检验方法唯一 -->
  4376. <select id="checkMethodOnlyOne" resultType="com.heai.modules.pms.data.QcMethodData" parameterType="com.heai.modules.pms.data.QcMethodData">
  4377. SELECT
  4378. site,
  4379. bu_no,
  4380. method_no
  4381. FROM qc_method
  4382. <where>
  4383. site = #{site} and bu_no = #{buNo} and method_no = #{methodNo}
  4384. </where>
  4385. </select>
  4386. <!-- 查询检验项目唯一 -->
  4387. <select id="checkItemOnlyOne" resultType="com.heai.modules.pms.data.QcItemData" parameterType="com.heai.modules.pms.data.QcItemData">
  4388. SELECT
  4389. site,
  4390. bu_no,
  4391. ItemNo,
  4392. ItemDesc
  4393. FROM eam_properties_item
  4394. <where>
  4395. site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType} and inspection_type_no = #{inspectionTypeNo}
  4396. </where>
  4397. </select>
  4398. <!-- 查询检验项目唯一 -->
  4399. <select id="checkTemplateOnlyOne" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
  4400. SELECT
  4401. site,
  4402. bu_no,
  4403. template_id,
  4404. template_name
  4405. FROM qc_template
  4406. <where>
  4407. site = #{site} and template_id = #{templateId}
  4408. </where>
  4409. </select>
  4410. <select id="searchSeqInfo" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  4411. SELECT DISTINCT
  4412. a.seqno,
  4413. a.orderno,
  4414. J.PartNo,
  4415. J.PartDescription as partDesc,
  4416. t.lotsize,
  4417. a.qtyrequired,
  4418. c.OperationDesc,
  4419. J.sku,
  4420. sum(roll_qty) as sjzs,
  4421. sum(roll_qty) as roll_qty
  4422. FROM soscheduledrouting AS a
  4423. inner JOIN RoutingDetail AS c ON c.site = a.site and a.partNO = C.PartNo AND a.itemno = c.itemNo
  4424. inner JOIN part AS J ON a.site = J.site AND a.partNo = J.PartNo
  4425. inner JOIN shoporder AS t ON a.site = t.site AND t.orderno = a.orderno
  4426. left join qc_ipqc_record as r on a.site = r.site and a.seqno = r.seq_no
  4427. WHERE
  4428. a.site = #{query.site}
  4429. <if test="query.orderNo != null and query.orderNo != ''">
  4430. AND a.orderno LIKE '%' + #{query.orderNo} + '%'
  4431. </if>
  4432. <if test="query.seqNo != null and query.seqNo != ''">
  4433. AND a.seqno LIKE '%' + #{query.seqNo} + '%'
  4434. </if>
  4435. <if test="query.sku != null and query.sku != ''">
  4436. AND j.sku LIKE '%' + #{query.sku} + '%'
  4437. </if>
  4438. <if test="query.partNo != null and query.partNo != ''">
  4439. AND J.PartNo LIKE '%' + #{query.partNo} + '%'
  4440. </if>
  4441. <if test="query.partDesc != null and query.partDesc != ''">
  4442. AND J.PartDescription LIKE '%' + #{query.partDesc} + '%'
  4443. </if>
  4444. <if test="query.operationDesc != null and query.operationDesc != ''">
  4445. AND c.OperationDesc LIKE '%' + #{query.operationDesc} + '%'
  4446. </if>
  4447. <if test="query.status != null and query.status != ''">
  4448. AND a.ClosedFlag = #{query.status}
  4449. </if>
  4450. group by a.seqno, a.orderno, J.PartNo, J.PartDescription, t.lotsize, a.qtyrequired, c.OperationDesc, J.sku
  4451. </select>
  4452. <select id="searchPartInfo" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  4453. select
  4454. PartNo,
  4455. PartDescription as part_desc,
  4456. sku,
  4457. Spec as spec,
  4458. cinv_source_code,
  4459. sourceBu
  4460. from
  4461. part
  4462. where
  4463. site = #{query.site}
  4464. <if test="query.partNo != null and query.partNo != ''">
  4465. AND PartNo LIKE '%' + #{query.partNo} + '%'
  4466. </if>
  4467. <if test="query.partDesc != null and query.partDesc != ''">
  4468. AND PartDescription LIKE '%' + #{query.partDesc} + '%'
  4469. </if>
  4470. <if test="query.sku != null and query.sku != ''">
  4471. AND sku LIKE '%' + #{query.sku} + '%'
  4472. </if>
  4473. <if test="query.spec != null and query.spec != ''">
  4474. AND Spec LIKE '%' + #{query.spec} + '%'
  4475. </if>
  4476. <if test="query.cinvSourceCode != null and query.cinvSourceCode != ''">
  4477. AND cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  4478. </if>
  4479. </select>
  4480. <select id="getInterfaceTimeData" parameterType="String" resultType="com.heai.modules.pms.data.InterfaceTimeData">
  4481. SELECT
  4482. id,
  4483. start_time,
  4484. end_time,
  4485. del_flag
  4486. FROM interface_time
  4487. WHERE del_flag = 'N' and site = #{site}
  4488. </select>
  4489. <update id="updateInterfaceTimeData" parameterType="com.heai.modules.pms.data.InterfaceTimeData">
  4490. UPDATE interface_time
  4491. set
  4492. updated_by = #{updatedBy},
  4493. updated_date = #{updatedDate},
  4494. del_flag = #{delFlag}
  4495. </update>
  4496. <select id="getInterfaceRdStyleData" parameterType="String" resultType="com.heai.modules.pms.data.RdStyleData">
  4497. SELECT
  4498. crdcode,
  4499. crdname,
  4500. iRdGrade,
  4501. rdtype,
  4502. brdend
  4503. FROM view_custdev_mes_rdstyle
  4504. WHERE crdname = #{crdName}
  4505. </select>
  4506. <insert id="insertHardtagPurchaseInStorageData" parameterType="com.heai.modules.pms.data.HardtagPurchaseInStorageCountData" useGeneratedKeys="true" keyProperty="id">
  4507. INSERT INTO purchase_in_storage_count
  4508. (site, trans_no, created_date, created_by, erp_flag, toacc, logindate, cordercode, cdepcode, cwhcode, crdcode, coutcode, ddate, bredvouch,
  4509. cmemo, verify, irowno, cinvcode, iquantity, citemcode, erp_remark, trans_date, csource, trans_type)
  4510. values (#{site}, #{transNo}, #{createdDate}, #{createdBy}, #{erpFlag}, #{toacc}, #{logindate}, #{cordercode}, #{cdepcode}, #{cwhcode}, #{crdcode}, #{coutcode}, #{ddate}, #{bredvouch},
  4511. #{cmemo}, #{verify}, #{irowno}, #{cinvcode}, #{iquantity}, #{citemcode}, #{erpRemark}, #{transDate}, #{csource}, #{transType})
  4512. </insert>
  4513. <insert id="batchSaveHrdtagTransHeader" parameterType="com.heai.modules.pms.data.HardtagTransHeaderData">
  4514. insert into TransHeader
  4515. (TransNo, Site, WarehouseID, TransDate, TransType_DB, TransType, UserName, Receiver, TransYear, TransMonth, PartnerID, PartnerType, AuthorizeFlag, AuthorizeDate, Authorizor, TransferFlag, TransferDate,
  4516. TransferGuys, VoucherDate, ProjectID, EnterDate, Remark, UseLocation, OrderRef1, LinkOrderFlag, DelAddID, Status, ProjectName, PartnerName, erp_warehouse_id, ERP,
  4517. department_no, picking_status, scan_type, inCategory, pmProject, remarks, item_no_mat, remark3, location_id, count_id)
  4518. values (#{TransNo}, #{Site}, #{WarehouseID}, #{TransDate}, #{TransTypeDB}, #{TransType}, #{UserName}, #{Receiver}, #{TransYear}, #{TransMonth}, #{PartnerID}, #{PartnerType}, #{AuthorizeFlag}, #{AuthorizeDate}, #{Authorizor}, #{TransferFlag}, #{TransferDate},
  4519. #{TransferGuys}, #{VoucherDate}, #{ProjectID}, #{EnterDate}, #{Remark}, #{UseLocation}, #{OrderRef1}, #{LinkOrderFlag}, #{DelAddID}, #{Status}, #{ProjectName}, #{PartnerName}, #{erpWarehouseId}, #{ERP},
  4520. #{departmentNo}, #{pickingStatus}, #{scanType}, #{inCategory}, #{pmProject}, #{remarks}, #{itemNoMat}, #{remark3}, #{locationId}, #{countId})
  4521. </insert>
  4522. <insert id="batchSaveHardtagTransDetail" parameterType="com.heai.modules.pms.data.HardtagTransDetailData">
  4523. INSERT INTO TransDetail
  4524. (TransNo, Site, PartNo, LocationID, TransQty, Direction, OrderRef1, ItemNo, OrderRef2, OrderRef3, OrderRef5, Remark, citem_code)
  4525. values
  4526. (#{TransNo}, #{Site}, #{PartNo}, #{LocationID}, #{TransQty}, #{Direction}, #{OrderRef1}, #{ItemNo}, #{OrderRef2}, #{OrderRef3}, #{OrderRef5}, #{Remark}, #{citemCode})
  4527. </insert>
  4528. <select id="getSendMailAddress" parameterType="String" resultType="com.heai.modules.pms.data.MailAddressData">
  4529. SELECT
  4530. id,
  4531. site,
  4532. bu_no,
  4533. mail_address,
  4534. send_type,
  4535. del_flag,
  4536. created_by,
  4537. created_date,
  4538. orderref1
  4539. FROM mailAddress
  4540. WHERE site = #{site} and send_type = #{type} and del_flag = 'N'
  4541. <if test="buNo != null and buNo != ''">
  4542. AND bu_no = #{buNo}
  4543. </if>
  4544. </select>
  4545. <select id="getSendMailFromAddress" resultType="com.heai.modules.pms.data.MailSendAddressData">
  4546. SELECT
  4547. port,
  4548. host,
  4549. username,
  4550. password,
  4551. emailForm,
  4552. timeout,
  4553. personal,
  4554. id
  4555. FROM mailSendAddress
  4556. where delFlag = 'N'
  4557. </select>
  4558. <!-- 新增发送邮件记录 -->
  4559. <insert id="saveSendMailRecord" parameterType="com.heai.modules.pms.data.SendMailRecord">
  4560. insert into send_mail_record
  4561. (site, bu_no, document_no, sender, recipient, send_date, type)
  4562. values
  4563. (#{site}, #{buNo}, #{documentNo}, #{sender}, #{recipient}, getDate(), #{type})
  4564. </insert>
  4565. <select id="orderTypeSearch" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  4566. SELECT distinct
  4567. order_type
  4568. FROM view_po_order
  4569. </select>
  4570. <update id="actionIQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
  4571. update qc_iqc_record
  4572. set action_date = getDate(),
  4573. action_by = #{actionBy},
  4574. state = #{state}
  4575. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  4576. </update>
  4577. <update id="actionSQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
  4578. update qc_sqc_record
  4579. set action_date = getDate(),
  4580. action_by = #{actionBy},
  4581. state = #{state}
  4582. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  4583. </update>
  4584. <update id="actionFAIInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
  4585. update qc_fai_record
  4586. set action_date = getDate(),
  4587. action_by = #{actionBy},
  4588. state = #{state}
  4589. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  4590. </update>
  4591. <update id="actionIPQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
  4592. update qc_ipqc_record
  4593. set action_date = getDate(),
  4594. action_by = #{actionBy},
  4595. state = #{state}
  4596. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  4597. </update>
  4598. <update id="actionFQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
  4599. update qc_fqc_record
  4600. set action_date = getDate(),
  4601. action_by = #{actionBy},
  4602. state = #{state}
  4603. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  4604. </update>
  4605. <insert id="addEquipmentDataAcquisition">
  4606. insert into Equipment_data_acquisition
  4607. (site, bu_no, equipment_no, inspection_no, create_date, create_by, item_no, collection_source, collection_method)
  4608. values
  4609. <foreach collection="list" item="item" separator=",">
  4610. (#{item.site}, #{item.buNo}, #{item.equipmentNo}, #{item.inspectionNo}, getDate(), #{item.actionBy}, #{item.itemNo}, #{item.collectionSource}, #{item.collectionMethod})
  4611. </foreach>
  4612. </insert>
  4613. <!-- 新增人员信息 -->
  4614. <insert id="saveOperator" >
  4615. INSERT INTO eam_actual_operator
  4616. (site, order_no, function_type, operator, bu_no)
  4617. VALUES
  4618. <foreach collection="list" item="item" separator=",">
  4619. (#{item.site}, #{item.orderNo}, #{item.functionType}, #{item.operator}, #{item.buNo})
  4620. </foreach>
  4621. </insert>
  4622. <!-- 删除之前的人员-->
  4623. <delete id="delOperator" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4624. DELETE FROM eam_actual_operator
  4625. WHERE site = #{site} and order_no = #{inspectionNo} and bu_no = #{buNo}
  4626. </delete>
  4627. <select id="getInspectionNo" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  4628. select distinct
  4629. site,
  4630. bu_no,
  4631. equipment_no,
  4632. inspection_no,
  4633. item_no,
  4634. collection_source,
  4635. collection_method
  4636. from Equipment_data_acquisition
  4637. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  4638. </select>
  4639. <select id="getInspectionNoByItem" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  4640. select distinct
  4641. site,
  4642. bu_no,
  4643. equipment_no,
  4644. inspection_no,
  4645. item_no,
  4646. collection_source,
  4647. collection_method
  4648. from Equipment_data_acquisition
  4649. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} and item_no = #{itemNo}
  4650. </select>
  4651. <select id="dataAcquisition" parameterType="com.heai.modules.pms.data.EquipmentDataAcquisitionData" resultType="com.heai.modules.pms.data.SubDetailValues">
  4652. select
  4653. id,
  4654. site,
  4655. bu_no,
  4656. #{inspectionNo} as inspectionNo,
  4657. #{itemNo} as itemNo,
  4658. <if test='subDetailValueType == 0'>
  4659. ${collectionSource} as subDetailValue,
  4660. </if>
  4661. <if test='subDetailValueType == 1'>
  4662. ${collectionSource} as subDetailValueB,
  4663. </if>
  4664. <if test='subDetailValueType == 2'>
  4665. ${collectionSource} as subDetailValueC,
  4666. </if>
  4667. <if test='subDetailValueType == 3'>
  4668. ${collectionSource} as subDetailValueD,
  4669. </if>
  4670. <if test='subDetailValueType == 4'>
  4671. ${collectionSource} as subDetailValueE,
  4672. </if>
  4673. num,
  4674. #{collectionSource} as collectionSource,
  4675. #{collectionMethod} as collectionMethod
  4676. from Equipment_data_detail
  4677. where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo} and ${collectionSource} is not null and ${collectionSource} <![CDATA[<>]]> ''
  4678. <if test='collectionMethod == "plc"'>
  4679. AND inspection_no = #{inspectionNo}
  4680. </if>
  4681. <if test='collectionMethod == "RS232"'>
  4682. AND (inspection_no is null or inspection_no = '')
  4683. </if>
  4684. <if test = "collectionDataContent != null and collectionDataContent != ''">
  4685. AND ${collectionSource} ${collectionDataContent}
  4686. </if>
  4687. and batch_no = (select MAX(batch_no) from Equipment_data_detail where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo})
  4688. </select>
  4689. <select id="dataAcquisitionB" parameterType="com.heai.modules.pms.data.EquipmentDataAcquisitionData" resultType="com.heai.modules.pms.data.SubDetailValues">
  4690. select
  4691. id,
  4692. site,
  4693. bu_no,
  4694. #{inspectionNo} as inspectionNo,
  4695. #{itemNo} as itemNo,
  4696. ${collectionSource} as subDetailValueB,
  4697. num,
  4698. #{collectionSource} as collectionSource
  4699. from Equipment_data_detail
  4700. where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo} and ${collectionSource} is not null and ${collectionSource} <![CDATA[<>]]> ''
  4701. <if test='collectionMethod == "plc"'>
  4702. AND inspection_no = #{inspectionNo}
  4703. </if>
  4704. <if test='collectionMethod == "RS232"'>
  4705. AND (inspection_no is null or inspection_no = '')
  4706. </if>
  4707. and batch_no = (select MAX(batch_no) from Equipment_data_detail where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo})
  4708. </select>
  4709. <select id="dataAcquisition2" parameterType="com.heai.modules.pms.data.EquipmentDataAcquisitionData" resultType="com.heai.modules.oss.entity.SysOssEntity">
  4710. select
  4711. site as orderRef1,
  4712. bu_no as orderRef4,
  4713. #{inspectionNo} as orderRef2,
  4714. #{itemNo} as orderRef3,
  4715. ${collectionSource} as url
  4716. from Equipment_data_detail
  4717. where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo} and ${collectionSource} is not null and ${collectionSource} <![CDATA[<>]]> ''
  4718. and batch_no = (select MAX(batch_no) from Equipment_data_detail where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo})
  4719. </select>
  4720. <select id="getIQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  4721. select
  4722. a.site,
  4723. a.bu_no,
  4724. b.collection_condition as equipmentNo,
  4725. #{inspectionNo} as inspectionNo,
  4726. a.item_no,
  4727. b.collection_source,
  4728. #{actionBy} as actionBy,
  4729. b.collection_method
  4730. from qc_iqc_detailed_record as a
  4731. 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
  4732. 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'
  4733. order by a.order_id
  4734. </select>
  4735. <select id="getFAIDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  4736. select
  4737. a.site,
  4738. a.bu_no,
  4739. b.collection_condition as equipmentNo,
  4740. #{inspectionNo} as inspectionNo,
  4741. a.item_no,
  4742. b.collection_source,
  4743. #{actionBy} as actionBy,
  4744. b.collection_method
  4745. from qc_fai_detailed_record as a
  4746. 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
  4747. 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'
  4748. order by order_id
  4749. </select>
  4750. <select id="getIPQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  4751. select
  4752. a.site,
  4753. a.bu_no,
  4754. b.collection_condition as equipmentNo,
  4755. #{inspectionNo} as inspectionNo,
  4756. a.item_no,
  4757. b.collection_source,
  4758. #{actionBy} as actionBy,
  4759. b.collection_method
  4760. from qc_ipqc_detailed_record as a
  4761. 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
  4762. 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'
  4763. order by a.order_id
  4764. </select>
  4765. <select id="getFQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
  4766. select
  4767. a.site,
  4768. a.bu_no,
  4769. b.collection_condition as equipmentNo,
  4770. #{inspectionNo} as inspectionNo,
  4771. a.item_no,
  4772. b.collection_source,
  4773. #{actionBy} as actionBy,
  4774. b.collection_method
  4775. from qc_fqc_detailed_record as a
  4776. 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
  4777. 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'
  4778. order by a.order_id
  4779. </select>
  4780. <select id="querySubDetails" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.SubDetailValues">
  4781. select
  4782. b.site,
  4783. b.bu_no,
  4784. b.inspection_no,
  4785. b.item_no,
  4786. b.default_value,
  4787. b.min_value,
  4788. b.max_value,
  4789. b.value_type_db,
  4790. a.sub_detail_value
  4791. <if test="flag == 'iqc'">
  4792. from qc_iqc_sub_detail_record as a
  4793. 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
  4794. </if>
  4795. <if test="flag == 'ipqc'">
  4796. from qc_ipqc_sub_detail_record as a
  4797. 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
  4798. </if>
  4799. <if test="flag == 'fqc'">
  4800. from qc_fqc_sub_detail_record as a
  4801. 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
  4802. </if>
  4803. <if test="flag == 'fai'">
  4804. from qc_fai_sub_detail_record as a
  4805. 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
  4806. </if>
  4807. where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and a.item_no = #{itemNo}
  4808. order by b.order_id
  4809. </select>
  4810. <insert id="saveFileList">
  4811. INSERT INTO sys_oss
  4812. (url, create_date, file_name, new_file_name, order_ref1, order_ref2, order_ref3, order_ref4)
  4813. VALUES
  4814. <foreach collection="list" item="item" separator=",">
  4815. (#{item.url}, getDate(), #{item.fileName}, #{item.newFileName}, #{item.orderRef1}, #{item.orderRef2}, #{item.orderRef3}, #{item.orderRef4})
  4816. </foreach>
  4817. </insert>
  4818. <select id="getEquipmentNoList" parameterType="com.heai.modules.pms.data.EquipmentFolderLocationData" resultType="com.heai.modules.pms.data.EquipmentFolderLocationData">
  4819. select
  4820. equipment_no
  4821. from Equipment_folder_location
  4822. where site = #{site} and bu_no = #{buNo}
  4823. </select>
  4824. <!-- 获取责任人员列表 -->
  4825. <select id="getResponsibleOperatorList" resultType="com.heai.modules.pms.data.EamAdminData" parameterType="com.heai.modules.pms.data.EamAdminData">
  4826. SELECT
  4827. operatorID as adminID,
  4828. operatorName as adminName
  4829. FROM operator
  4830. <where>
  4831. site = #{site}
  4832. <if test = "adminID != null and adminID != ''">
  4833. AND operator_id LIKE '%' + #{adminID} + '%'
  4834. </if>
  4835. <if test = "adminName != null and adminName != ''">
  4836. AND operator_name LIKE '%' + #{adminName} + '%'
  4837. </if>
  4838. </where>
  4839. </select>
  4840. <select id="getDataContentList" parameterType="com.heai.modules.pms.data.QcCollectionDataContentData" resultType="com.heai.modules.pms.data.QcCollectionDataContentData">
  4841. select
  4842. content_desc
  4843. from qc_collection_data_content
  4844. where site = #{site} and bu_no = #{buNo} and active = 'Y'
  4845. </select>
  4846. <select id="getItemCollectionDataContent" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="string">
  4847. select
  4848. collection_data_content
  4849. from eam_properties_item
  4850. where site = #{site} and bu_no = #{buNo} and ItemNo = #{itemNo}
  4851. </select>
  4852. <!-- 获取当前项目不包含的设备 -->
  4853. <select id="getObjectList1" resultType="com.heai.modules.pms.data.EamObjectInData" parameterType="com.heai.modules.pms.data.EamObjectInData">
  4854. SELECT
  4855. a.site,
  4856. a.bu_no,
  4857. a.ObjectID,
  4858. a.ObjectDesc
  4859. FROM eam_object as a
  4860. 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}
  4861. where a.site = #{site} and a.bu_no = #{buNo} and b.ItemNo is null and a.active = 'Y'
  4862. </select>
  4863. <!-- 获取当前项目所包含的设备 -->
  4864. <select id="getObjectList2" resultType="com.heai.modules.pms.data.EamObjectInData" parameterType="com.heai.modules.pms.data.EamObjectInData">
  4865. SELECT
  4866. a.site,
  4867. a.bu_no,
  4868. a.ObjectID,
  4869. b.ObjectDesc,
  4870. a.default_flag
  4871. FROM qc_item_object a
  4872. LEFT JOIN eam_object b ON a.site = b.site and a.bu_no = b.bu_no and a.ObjectID = b.ObjectID
  4873. WHERE a.site = #{site} and a.bu_no = #{buNo} and a.ItemNo = #{itemNo}
  4874. </select>
  4875. <!-- 获取当前项目不包含的设备 -->
  4876. <select id="getObjectListBy" resultType="com.heai.modules.pms.data.EamObjectInData" parameterType="com.heai.modules.pms.data.EamObjectInData">
  4877. SELECT
  4878. a.site,
  4879. a.bu_no,
  4880. a.ObjectID,
  4881. a.ObjectDesc
  4882. FROM eam_object as a
  4883. 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}
  4884. <where>
  4885. a.site = #{site} and a.bu_no = #{buNo} and b.ItemNo is null and a.active = 'Y'
  4886. <if test = "objectID != null and objectID != ''">
  4887. AND a.ObjectID LIKE '%' + #{objectID} + '%'
  4888. </if>
  4889. <if test = "objectDesc != null and objectDesc != ''">
  4890. AND a.ObjectDesc LIKE '%' + #{objectDesc} + '%'
  4891. </if>
  4892. </where>
  4893. </select>
  4894. <!-- 新增项目设备 -->
  4895. <insert id="addItemObject">
  4896. INSERT INTO qc_item_object
  4897. (site, bu_no, ItemNo, ObjectID, default_flag)
  4898. VALUES
  4899. <foreach collection="list" item="item" separator=",">
  4900. (#{item.site}, #{item.buNo}, #{item.itemNo}, #{item.objectID}, #{item.defaultFlag})
  4901. </foreach>
  4902. </insert>
  4903. <delete id="deleteItemObject">
  4904. DELETE FROM qc_item_object
  4905. WHERE
  4906. <foreach collection="list" item="item" separator=" or " index="index">
  4907. (site = #{item.site} and bu_no = #{item.buNo} and ItemNo = #{item.itemNo} and ObjectID = #{item.objectID})
  4908. </foreach>
  4909. </delete>
  4910. <update id="updateItemObject">
  4911. UPDATE qc_item_object
  4912. SET default_flag = #{defaultFlag}
  4913. WHERE site = #{site} and bu_no = #{buNo} and ItemNo = #{itemNo} and ObjectID = #{objectID}
  4914. </update>
  4915. <select id="getIQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
  4916. select
  4917. a.site,
  4918. a.bu_no,
  4919. a.inspection_no,
  4920. a.item_no,
  4921. a.item_desc,
  4922. b.collection_source,
  4923. b.collection_method
  4924. from qc_iqc_detailed_record as a
  4925. 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
  4926. 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'
  4927. order by a.order_id
  4928. </select>
  4929. <select id="getSQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
  4930. select
  4931. a.site,
  4932. a.bu_no,
  4933. a.inspection_no,
  4934. a.item_no,
  4935. a.item_desc,
  4936. b.collection_source,
  4937. b.collection_method
  4938. from qc_sqc_detailed_record as a
  4939. 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
  4940. 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'
  4941. order by a.order_id
  4942. </select>
  4943. <select id="getFAIInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
  4944. select
  4945. a.site,
  4946. a.bu_no,
  4947. a.inspection_no,
  4948. a.item_no,
  4949. a.item_desc,
  4950. b.collection_source,
  4951. b.collection_method
  4952. from qc_fai_detailed_record as a
  4953. 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
  4954. 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'
  4955. order by a.order_id
  4956. </select>
  4957. <select id="getFQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
  4958. select
  4959. a.site,
  4960. a.bu_no,
  4961. a.inspection_no,
  4962. a.item_no,
  4963. a.item_desc,
  4964. b.collection_source,
  4965. b.collection_method
  4966. from qc_fqc_detailed_record as a
  4967. 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
  4968. 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'
  4969. order by a.order_id
  4970. </select>
  4971. <select id="getIPQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
  4972. select
  4973. a.site,
  4974. a.bu_no,
  4975. a.inspection_no,
  4976. a.item_no,
  4977. a.item_desc,
  4978. b.collection_source,
  4979. b.collection_method
  4980. from qc_ipqc_detailed_record as a
  4981. 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
  4982. 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'
  4983. order by a.order_id
  4984. </select>
  4985. <delete id="deleteEquipmentDataAcquisition" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  4986. delete from Equipment_data_acquisition
  4987. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  4988. </delete>
  4989. <select id="getInspectionStandards" parameterType="com.heai.modules.pms.data.QcInspectionStandardData" resultType="com.heai.modules.pms.data.QcInspectionStandardData">
  4990. select
  4991. site,
  4992. bu_no,
  4993. template_id,
  4994. item_no,
  4995. default_value,
  4996. min_value,
  4997. max_value,
  4998. condition,
  4999. collection_source,
  5000. seq_no
  5001. from qc_inspection_standards
  5002. where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo}
  5003. </select>
  5004. <delete id="deleteInspectionStandard" parameterType="com.heai.modules.pms.data.QcInspectionStandardData">
  5005. delete from qc_inspection_standards
  5006. where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo}
  5007. </delete>
  5008. <delete id="deleteInspectionStandard2" parameterType="com.heai.modules.pms.data.QcTemplateData">
  5009. delete from qc_inspection_standards
  5010. where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo}
  5011. </delete>
  5012. <insert id="saveInspectionStandard">
  5013. INSERT INTO qc_inspection_standards
  5014. (site, bu_no, template_id, item_no, default_value, min_value, max_value, condition, collection_source, seq_no)
  5015. VALUES
  5016. <foreach collection="list" item="item" separator=",">
  5017. (#{item.site}, #{item.buNo}, #{item.templateId}, #{item.itemNo}, #{item.defaultValue}, #{item.minValue}, #{item.maxValue}, #{item.condition}, #{item.collectionSource}, #{item.seqNo})
  5018. </foreach>
  5019. </insert>
  5020. <insert id="saveEquipmentFolderLocationList">
  5021. insert into Equipment_folder_location
  5022. (folder_path,equipment_no,site,bu_no,file_no,backup_folder_path,IP,suffix,equipment_desc,backup_photo_path,batch_date,port,register_address,
  5023. register_num,register_num_columntype,register_address_inspection,register_num_inspection,register_num_inspection_columntype,unit_id,
  5024. excel_compare_fields_x,excel_compare_fields_y,initial_line,data_row,skip_line,cutting_symbol,transparent_flag,Formula_calculation,
  5025. Formula,Group_calculation,regexp,repair_type,buzzer,create_by,create_time)
  5026. values (#{folderPath}, #{equipmentNo}, #{site}, #{buNo}, #{fileNo}, #{backupFolderPath}, #{IP}, #{suffix}, #{equipmentDesc}, #{backupPhotoPath}, #{batchDate}, #{port}, #{registerAddress},
  5027. #{registerNum}, #{registerNumColumntype}, #{registerAddressInspection}, #{registerNumInspection}, #{registerNumInspectionColumntype}, #{unitId},
  5028. #{excelCompareFieldsX}, #{excelCompareFieldsY}, #{initialLine}, #{dataRow}, #{skipLine}, #{cuttingSymbol}, #{transparentFlag}, #{formulaCalculation},
  5029. #{formula}, #{groupCalculation}, #{regexp}, #{repairType}, #{buzzer}, #{createBy}, getDate())
  5030. </insert>
  5031. <select id="getInspectionTemplateDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcInspectionStandardData">
  5032. select
  5033. site,
  5034. bu_no,
  5035. template_id,
  5036. item_no
  5037. <if test="flag == 'iqc'">
  5038. from qc_iqc_detailed_record
  5039. </if>
  5040. <if test="flag == 'ipqc'">
  5041. from qc_ipqc_detailed_record
  5042. </if>
  5043. <if test="flag == 'fqc'">
  5044. from qc_fqc_detailed_record
  5045. </if>
  5046. <if test="flag == 'fai'">
  5047. from qc_fai_detailed_record
  5048. </if>
  5049. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  5050. order by order_id
  5051. </select>
  5052. <update id="updateEquipmentDataDetailInspectionNo" parameterType="com.heai.modules.pms.data.SubDetailValues">
  5053. update Equipment_data_detail
  5054. set inspection_no = #{inspectionNo}
  5055. where id = #{id}
  5056. </update>
  5057. <delete id="deleteInspectionFiles" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5058. delete sys_oss
  5059. where order_ref1 = #{site} and order_ref2 = #{inspectionNo} and order_ref4 = #{buNo}
  5060. </delete>
  5061. <select id="getUpItemdata" resultType="com.heai.modules.pms.data.QcTemplateData">
  5062. select
  5063. top 1
  5064. site,
  5065. bu_no,
  5066. template_id,
  5067. ItemNo,
  5068. order_id
  5069. from qc_template_detailed
  5070. where #{orderId} > order_id
  5071. and site = #{site}
  5072. and bu_no= #{buNo}
  5073. and template_id = #{templateId}
  5074. order by order_id desc
  5075. </select>
  5076. <select id="getDownItemdata" resultType="com.heai.modules.pms.data.QcTemplateData">
  5077. select
  5078. top 1
  5079. site,
  5080. bu_no,
  5081. template_id,
  5082. ItemNo,
  5083. order_id
  5084. from qc_template_detailed
  5085. where order_id > #{orderId}
  5086. and site = #{site}
  5087. and bu_no= #{buNo}
  5088. and template_id = #{templateId}
  5089. order by order_id
  5090. </select>
  5091. <update id="updateQcItemOrder">
  5092. update qc_template_detailed
  5093. set order_id=#{orderId}
  5094. where site = #{site}
  5095. and bu_no= #{buNo}
  5096. and template_id = #{templateId}
  5097. and ItemNo = #{itemNo}
  5098. </update>
  5099. <select id="getQCDetailOrderId" resultType="Integer">
  5100. SELECT isnull(max(order_id), 0) + 1
  5101. from qc_template_detailed
  5102. where site = #{site}
  5103. and bu_no= #{buNo}
  5104. and template_id = #{templateId}
  5105. </select>
  5106. <select id="updateQCDetailOrderIdNull">
  5107. UPDATE qc_template_detailed
  5108. SET qc_template_detailed.order_id = oi.rn
  5109. FROM (SELECT
  5110. site,
  5111. bu_no,
  5112. template_id,
  5113. ItemNo,
  5114. ROW_NUMBER() OVER (PARTITION BY site,bu_no,template_id ORDER BY ItemNo) AS rn
  5115. FROM qc_template_detailed
  5116. ) as oi
  5117. where qc_template_detailed.template_id = oi.template_id
  5118. AND qc_template_detailed.ItemNo = oi.ItemNo
  5119. and qc_template_detailed.order_id is null
  5120. </select>
  5121. <select id="selectInfoByInspectionNo" resultType="com.heai.modules.pms.data.PoOrderRollNoData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5122. select
  5123. site,
  5124. citem_code,
  5125. inspection_no
  5126. from po_order_roll_no
  5127. where site = #{site} and citem_code = #{buNo} and inspection_no = #{inspectionNo}
  5128. </select>
  5129. <update id="updateIQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5130. UPDATE qc_iqc_record
  5131. SET submit_flag = 'N',
  5132. state = '待检验',
  5133. cancel_check_by = #{updateBy},
  5134. cancel_check_date = getDate()
  5135. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5136. </update>
  5137. <update id="updateIQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5138. UPDATE qc_iqc_detailed_record
  5139. SET is_submit = 'N'
  5140. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5141. </update>
  5142. <update id="updateIQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5143. UPDATE qc_iqc_sub_detail_record
  5144. SET is_submit = 'N'
  5145. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5146. </update>
  5147. <update id="updateFAIMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5148. UPDATE qc_fai_record
  5149. SET submit_flag = 'N',
  5150. state = '待检验',
  5151. cancel_check_by = #{updateBy},
  5152. cancel_check_date = getDate()
  5153. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5154. </update>
  5155. <update id="updateFAIDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5156. UPDATE qc_fai_detailed_record
  5157. SET is_submit = 'N'
  5158. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5159. </update>
  5160. <update id="updateFAISubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5161. UPDATE qc_fai_sub_detail_record
  5162. SET is_submit = 'N'
  5163. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5164. </update>
  5165. <update id="updateIPQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5166. UPDATE qc_ipqc_record
  5167. SET submit_flag = 'N',
  5168. state = '待检验',
  5169. cancel_check_by = #{updateBy},
  5170. cancel_check_date = getDate()
  5171. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5172. </update>
  5173. <update id="updateIPQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5174. UPDATE qc_ipqc_detailed_record
  5175. SET is_submit = 'N'
  5176. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5177. </update>
  5178. <update id="updateIPQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5179. UPDATE qc_ipqc_sub_detail_record
  5180. SET is_submit = 'N'
  5181. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5182. </update>
  5183. <update id="updateFQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5184. UPDATE qc_fqc_record
  5185. SET submit_flag = 'N',
  5186. state = '待检验',
  5187. cancel_check_by = #{updateBy},
  5188. cancel_check_date = getDate()
  5189. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5190. </update>
  5191. <update id="updateFQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5192. UPDATE qc_fqc_detailed_record
  5193. SET is_submit = 'N'
  5194. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5195. </update>
  5196. <update id="updateFQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5197. UPDATE qc_fqc_sub_detail_record
  5198. SET is_submit = 'N'
  5199. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5200. </update>
  5201. <update id="updatePQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5202. UPDATE qc_pqc_record
  5203. SET submit_flag = 'N',
  5204. state = '待检验',
  5205. cancel_check_by = #{updateBy},
  5206. cancel_check_date = getDate()
  5207. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5208. </update>
  5209. <update id="updatePQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5210. UPDATE qc_pqc_detailed_record
  5211. SET is_submit = 'N'
  5212. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5213. </update>
  5214. <update id="updatePQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5215. UPDATE qc_pqc_sub_detail_record
  5216. SET is_submit = 'N'
  5217. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5218. </update>
  5219. <!-- SQC取消审核 -->
  5220. <update id="updateSQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5221. UPDATE qc_sqc_record
  5222. SET submit_flag = 'N',
  5223. state = '待检验',
  5224. cancel_check_by = #{updateBy},
  5225. cancel_check_date = getDate()
  5226. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5227. </update>
  5228. <update id="updateSQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5229. UPDATE qc_sqc_detailed_record
  5230. SET is_submit = 'N'
  5231. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5232. </update>
  5233. <update id="updateSQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5234. UPDATE qc_sqc_sub_detail_record
  5235. SET is_submit = 'N'
  5236. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5237. </update>
  5238. <delete id="deleteReceivingTaskByInspectionNo" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5239. delete receiving_task
  5240. where site = #{site} and citem_code = #{buNo} and inspection_no = #{inspectionNo}
  5241. </delete>
  5242. <delete id="deleteEquipmentFolderLocationList">
  5243. delete from Equipment_folder_location
  5244. where id = #{id}
  5245. </delete>
  5246. <select id="getQMSTask" resultType="com.heai.modules.pms.data.QmsTaskData">
  5247. select
  5248. id,
  5249. site,
  5250. bu_no,
  5251. part_no,
  5252. operation_desc,
  5253. s_resourceid,
  5254. qtyrequired,
  5255. create_date,
  5256. create_by,
  5257. inspection_type,
  5258. type,
  5259. order_no,
  5260. seqno,
  5261. template_id,
  5262. um_id,
  5263. work_center_no
  5264. from QMS_soscheduledrouting_TASK
  5265. where ISNULL(delete_flag, '') <![CDATA[<>]]> 'Y'
  5266. </select>
  5267. <select id="getSuffixList" resultType="java.lang.String">
  5268. select distinct suffix from Equipment_folder_location
  5269. </select>
  5270. <select id="checkEquipmentFolderLocation" resultType="java.lang.Integer">
  5271. select count(1)
  5272. from Equipment_folder_location
  5273. where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo}
  5274. </select>
  5275. <update id="updateQMSTaskById">
  5276. UPDATE QMS_soscheduledrouting_TASK
  5277. SET delete_flag = 'Y'
  5278. WHERE id = #{id}
  5279. </update>
  5280. <select id="queryEquipmentFolderLocationList" resultType="com.heai.modules.pms.data.QCEquipmentFolderLocation">
  5281. select efl.*
  5282. from Equipment_folder_location efl
  5283. <where>
  5284. <if test="params.site != null and params.site != ''">
  5285. and efl.site = #{params.site}
  5286. </if>
  5287. <if test="params.equipmentNo != null and params.equipmentNo != ''">
  5288. and efl.equipment_no like '%'+ #{params.equipmentNo} +'%'
  5289. </if>
  5290. <if test="params.equipmentDesc != null and params.equipmentDesc != ''">
  5291. and efl.equipment_desc like '%'+ #{params.equipmentDesc} +'%'
  5292. </if>
  5293. <if test="params.IP != null and params.IP != ''">
  5294. and efl.IP like '%'+ #{params.IP} +'%'
  5295. </if>
  5296. <if test="params.suffix != null and params.suffix != ''">
  5297. and efl.suffix like '%'+ #{params.suffix} +'%'
  5298. </if>
  5299. </where>
  5300. </select>
  5301. <select id="getPqcOperationDescList" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  5302. select qro.description as operationDesc
  5303. from operation_resource a
  5304. left join qc_pqc_record_operation qro on a.operation = qro.code
  5305. GROUP BY qro.description
  5306. </select>
  5307. <select id="getQcIPQCInspection" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  5308. select *
  5309. from qc_ipqc_record
  5310. where site = #{site} and seq_no = #{seqNo} and order_no = #{orderNo}
  5311. <if test=" inspectionTypeNo != null and inspectionTypeNo != ''">
  5312. and inspection_type_no = #{inspectionTypeNo}
  5313. </if>
  5314. </select>
  5315. <select id="selectMachineAndProcess" resultType="com.heai.modules.pms.entity.vo.MachineAndProcessVo">
  5316. select a.Site,a.OrderNo,a.ItemNo,a.OperationDesc,b.S_ResourceID,c.seqNo
  5317. from SORouting a
  5318. inner join SOScheduledRouting b on a.Site = b.Site and a.OrderNo = b.OrderNo and a.ItemNo = b.ItemNo
  5319. inner join SOOpsTransferDetail c on c.seqNo = b.SeqNo and c.Site = b.Site
  5320. where c.seqNo = #{seqNo} and a.Site = #{site}
  5321. </select>
  5322. <select id="getPartAttributeByPartNo" resultType="com.heai.modules.pms.data.QcPartAttributeData">
  5323. select top 1 attribute_no, supplier_no, defaultValue,maxValue,minValue,iqc_exempt,fai_exempt,ipqc_exempt,pqc_exempt,fqc_exempt,oqc_exempt,sqc_exempt
  5324. from qc_part_attribute
  5325. where attribute_no = #{partNo}
  5326. </select>
  5327. <update id="updateEquipmentFolderLocation">
  5328. UPDATE Equipment_folder_location
  5329. SET
  5330. folder_path = #{folderPath},
  5331. equipment_no = #{equipmentNo},
  5332. bu_no = #{buNo},
  5333. file_no = #{fileNo},
  5334. backup_folder_path = #{backupFolderPath},
  5335. IP = #{IP},
  5336. suffix = #{suffix},
  5337. equipment_desc = #{equipmentDesc},
  5338. backup_photo_path = #{backupPhotoPath},
  5339. batch_date = #{batchDate},
  5340. port = #{port},
  5341. register_address = #{registerAddress},
  5342. register_num = #{registerNum},
  5343. register_num_columntype = #{registerNumColumntype},
  5344. register_address_inspection = #{registerAddressInspection},
  5345. register_num_inspection = #{registerNumInspection},
  5346. register_num_inspection_columntype = #{registerNumInspectionColumntype},
  5347. unit_id = #{unitId},
  5348. excel_compare_fields_x = #{excelCompareFieldsX},
  5349. excel_compare_fields_y = #{excelCompareFieldsY},
  5350. initial_line = #{initialLine},
  5351. data_row = #{dataRow},
  5352. skip_line = #{skipLine},
  5353. cutting_symbol = #{cuttingSymbol},
  5354. transparent_flag = #{transparentFlag},
  5355. Formula_calculation = #{formulaCalculation},
  5356. Formula = #{formula},
  5357. Group_calculation = #{groupCalculation},
  5358. regexp = #{regexp},
  5359. repair_type = #{repairType},
  5360. buzzer = #{buzzer},
  5361. update_by = #{updateBy},
  5362. update_time = getDate()
  5363. WHERE id = #{id}
  5364. </update>
  5365. <update id="updatePQCMasterSubmitFlag">
  5366. UPDATE qc_pqc_record
  5367. SET submit_flag = 'Y',
  5368. state = '已完成',
  5369. submit_date = getDate()
  5370. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5371. </update>
  5372. <update id="updatePQCDetailSubmitFlag">
  5373. UPDATE qc_pqc_detailed_record
  5374. SET is_submit = 'Y'
  5375. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5376. </update>
  5377. <update id="updatePQCSubDetailSubmitFlag">
  5378. UPDATE qc_pqc_sub_detail_record
  5379. SET is_submit = 'Y'
  5380. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5381. </update>
  5382. <!-- ======================= IPQC 巡检特殊配置(按工序) ======================= -->
  5383. <select id="getPatrolConfigList" parameterType="java.util.Map" resultType="java.util.HashMap">
  5384. SELECT
  5385. site,
  5386. bu_no AS buNo,
  5387. part_no AS partNo,
  5388. operation_desc AS operationDesc,
  5389. first_inspection_duration AS firstInspectionDuration,
  5390. next_inspection_duration AS nextInspectionDuration,
  5391. total_inspection_duration AS totalInspectionDuration,
  5392. default_flag AS defaultFlag
  5393. FROM IPQC_Patrol_Configuration
  5394. WHERE site = #{site}
  5395. AND bu_no = #{buNo}
  5396. AND part_no = #{partNo}
  5397. ORDER BY default_flag DESC, operation_desc
  5398. </select>
  5399. <insert id="savePatrolConfig" parameterType="java.util.Map">
  5400. INSERT INTO IPQC_Patrol_Configuration (
  5401. site,
  5402. bu_no,
  5403. part_no,
  5404. operation_desc,
  5405. first_inspection_duration,
  5406. next_inspection_duration,
  5407. total_inspection_duration,
  5408. default_flag
  5409. ) VALUES (
  5410. #{site},
  5411. #{buNo},
  5412. #{partNo},
  5413. #{operationDesc},
  5414. #{firstInspectionDuration},
  5415. #{nextInspectionDuration},
  5416. #{totalInspectionDuration},
  5417. #{defaultFlag}
  5418. )
  5419. </insert>
  5420. <update id="updatePatrolConfig" parameterType="java.util.Map">
  5421. UPDATE IPQC_Patrol_Configuration
  5422. SET first_inspection_duration = #{firstInspectionDuration},
  5423. next_inspection_duration = #{nextInspectionDuration},
  5424. total_inspection_duration = #{totalInspectionDuration},
  5425. default_flag = #{defaultFlag}
  5426. WHERE site = #{site}
  5427. AND bu_no = #{buNo}
  5428. AND part_no = #{partNo}
  5429. AND operation_desc = #{operationDesc}
  5430. </update>
  5431. <delete id="deletePatrolConfig" parameterType="java.util.Map">
  5432. DELETE FROM IPQC_Patrol_Configuration
  5433. WHERE site = #{site}
  5434. AND bu_no = #{buNo}
  5435. AND part_no = #{partNo}
  5436. AND operation_desc = #{operationDesc}
  5437. </delete>
  5438. <update id="clearPatrolConfigDefaultFlag" parameterType="java.util.Map">
  5439. UPDATE IPQC_Patrol_Configuration
  5440. SET default_flag = 'N'
  5441. WHERE site = #{site}
  5442. AND bu_no = #{buNo}
  5443. AND part_no = #{partNo}
  5444. AND operation_desc != #{operationDesc}
  5445. </update>
  5446. <!-- ======================== OQC检验项目操作和模板导入 / FQAS(自 boying 同步) ======================== -->
  5447. <select id="getTemplateItems" parameterType="java.util.Map" resultType="com.heai.modules.pms.data.EamPropertiesItemData">
  5448. SELECT
  5449. d.ItemNo as itemNo,
  5450. p.ItemDesc as itemDesc,
  5451. d.default_value as defaultValue,
  5452. d.max_value as maxValue,
  5453. d.min_value as minValue,
  5454. p.ValueType as valueType,
  5455. p.ValueType_DB as valueTypeDb,
  5456. d.order_id as orderId
  5457. FROM qc_template_detailed d
  5458. LEFT JOIN eam_properties_item p
  5459. ON d.site = p.site
  5460. AND d.bu_no = p.bu_no
  5461. AND d.ItemNo = p.ItemNo
  5462. WHERE d.site = #{site}
  5463. AND d.bu_no = #{buNo}
  5464. AND d.template_id = #{templateId}
  5465. ORDER BY COALESCE(d.order_id, 99999) ASC, d.ItemNo ASC
  5466. </select>
  5467. <select id="getOQCAvailableItems" parameterType="java.util.Map" resultType="com.heai.modules.pms.data.EamPropertiesItemData">
  5468. SELECT
  5469. ItemNo as itemNo,
  5470. ItemDesc as itemDesc,
  5471. DefaultValue as defaultValue,
  5472. MaxValue as maxValue,
  5473. MinValue as minValue,
  5474. ValueType as valueType,
  5475. ValueType_DB as valueTypeDb
  5476. FROM eam_properties_item
  5477. WHERE site = #{site}
  5478. AND bu_no = #{buNo}
  5479. AND inspection_type_no = '109'
  5480. <if test="itemNo != null and itemNo != ''">
  5481. AND ItemNo LIKE '%' + #{itemNo} + '%'
  5482. </if>
  5483. <if test="itemDesc != null and itemDesc != ''">
  5484. AND ItemDesc LIKE '%' + #{itemDesc} + '%'
  5485. </if>
  5486. AND ItemNo NOT IN (
  5487. SELECT item_no
  5488. FROM qc_oqc_detailed_record
  5489. WHERE site = #{site}
  5490. AND bu_no = #{buNo}
  5491. AND inspection_no = #{inspectionNo}
  5492. )
  5493. ORDER BY ItemNo
  5494. </select>
  5495. <select id="getOQCSelectedItems" parameterType="java.util.Map" resultType="com.heai.modules.pms.data.EamPropertiesItemData">
  5496. SELECT
  5497. d.item_no as itemNo,
  5498. d.item_desc as itemDesc
  5499. FROM qc_oqc_detailed_record d
  5500. WHERE d.site = #{site}
  5501. AND d.bu_no = #{buNo}
  5502. AND d.inspection_no = #{inspectionNo}
  5503. ORDER BY d.item_no
  5504. </select>
  5505. <select id="getExistingOQCItems" parameterType="java.util.Map" resultType="com.heai.modules.pms.data.EamPropertiesItemData">
  5506. SELECT TOP 1
  5507. template_id as templateId,
  5508. item_no as itemNo,
  5509. foreign_flag as foreignFlag
  5510. FROM qc_oqc_detailed_record
  5511. WHERE site = #{site}
  5512. AND bu_no = #{buNo}
  5513. AND inspection_no = #{inspectionNo}
  5514. </select>
  5515. <insert id="insertOQCItemDetail" parameterType="java.util.Map">
  5516. INSERT INTO qc_oqc_detailed_record (
  5517. inspection_no,
  5518. template_id,
  5519. item_no,
  5520. item_desc,
  5521. default_value,
  5522. min_value,
  5523. max_value,
  5524. value_type_db,
  5525. value_type,
  5526. site,
  5527. bu_no,
  5528. foreign_flag,
  5529. order_id
  5530. ) VALUES (
  5531. #{inspectionNo},
  5532. #{templateId},
  5533. #{itemNo},
  5534. (SELECT ItemDesc FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
  5535. (SELECT DefaultValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
  5536. (SELECT MinValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
  5537. (SELECT MaxValue FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
  5538. (SELECT ValueType_DB FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
  5539. (SELECT ValueType FROM eam_properties_item WHERE site = #{site} AND bu_no = #{buNo} AND ItemNo = #{itemNo}),
  5540. #{site},
  5541. #{buNo},
  5542. #{foreignFlag},
  5543. #{orderId}
  5544. )
  5545. </insert>
  5546. <select id="getMaxOrderIdForOQC" parameterType="java.util.Map" resultType="java.lang.Integer">
  5547. SELECT ISNULL(MAX(order_id), 0)
  5548. FROM qc_oqc_detailed_record
  5549. WHERE site = #{site}
  5550. AND bu_no = #{buNo}
  5551. AND inspection_no = #{inspectionNo}
  5552. </select>
  5553. <delete id="deleteOQCItemDetail" parameterType="java.util.Map">
  5554. DELETE FROM qc_oqc_detailed_record
  5555. WHERE site = #{site}
  5556. AND bu_no = #{buNo}
  5557. AND inspection_no = #{inspectionNo}
  5558. AND item_no = #{itemNo}
  5559. </delete>
  5560. <delete id="deleteOQCSubDetailByItem" parameterType="java.util.Map">
  5561. DELETE FROM qc_oqc_sub_detail_record
  5562. WHERE site = #{site}
  5563. AND bu_no = #{buNo}
  5564. AND inspection_no = #{inspectionNo}
  5565. AND item_no = #{itemNo}
  5566. </delete>
  5567. <select id="getOQCTemplateList" parameterType="java.util.Map" resultType="java.util.HashMap">
  5568. SELECT
  5569. t.template_id as templateId,
  5570. t.template_name as templateName,
  5571. t.template_remark as remark,
  5572. (SELECT COUNT(*) FROM qc_template_detailed d
  5573. WHERE d.site = t.site AND d.bu_no = t.bu_no AND d.template_id = t.template_id) as itemCount
  5574. FROM qc_template t
  5575. WHERE t.site = #{site}
  5576. AND t.bu_no = #{buNo}
  5577. AND t.inspection_type_no = '109'
  5578. <if test="templateId != null and templateId != ''">
  5579. AND t.template_id LIKE '%' + #{templateId} + '%'
  5580. </if>
  5581. <if test="templateDesc != null and templateDesc != ''">
  5582. AND t.template_name LIKE '%' + #{templateDesc} + '%'
  5583. </if>
  5584. ORDER BY t.template_id
  5585. </select>
  5586. <select id="getExistingOQCItemNos" parameterType="java.util.Map" resultType="java.lang.String">
  5587. SELECT item_no
  5588. FROM qc_oqc_detailed_record
  5589. WHERE site = #{site}
  5590. AND bu_no = #{buNo}
  5591. AND inspection_no = #{inspectionNo}
  5592. </select>
  5593. <delete id="deleteObjectFile">
  5594. delete from sys_oss where id = #{id}
  5595. </delete>
  5596. <select id="getUserRoleList" resultType="com.heai.modules.sys.entity.SysRoleEntity">
  5597. SELECT
  5598. role_id,
  5599. role_name
  5600. FROM sys_role
  5601. </select>
  5602. <select id="selectOQCBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5603. SELECT
  5604. qir.inspection_no,
  5605. qir.state,
  5606. qir.create_date as taskDate,
  5607. qir.roll_no,
  5608. qir.part_no,
  5609. dbo.Get_Part_DescSpec(qir.site, qir.part_no) as part_desc,
  5610. qir.roll_qty,
  5611. qir.print_flag,
  5612. qir.create_by,
  5613. qir.site,
  5614. qir.bu_no,
  5615. qir.roll_count
  5616. FROM qc_oqc_record as qir
  5617. LEFT JOIN part p ON qir.part_no = p.partNo and qir.site = p.site
  5618. WHERE qir.site in (select site from AccessSite where userID = #{userName})
  5619. and qir.bu_no in (select bu_no from AccessBu where username = #{userName})
  5620. </select>
  5621. <select id="selectFQASPartAttributeByPartNo" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  5622. SELECT
  5623. qat.site,
  5624. qat.bu_no,
  5625. qat.attribute_no,
  5626. qat.template_id,
  5627. qat.sampling_level_no,
  5628. qsil.sampling_level_desc,
  5629. qat.inspection_cycle,
  5630. qat.sampling_programme_no,
  5631. qsip.sampling_programme_desc,
  5632. qat.AQL,
  5633. qat.AC,
  5634. qat.RE,
  5635. qt.default_sampling_quantity,
  5636. qt.default_sampling_proportion
  5637. FROM qc_attribute_template as qat
  5638. 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
  5639. 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
  5640. 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
  5641. WHERE qat.site = #{site} and qat.bu_no = #{buNo}
  5642. AND qat.attribute_no = #{partNo}
  5643. AND qat.attribute_type = #{attributeType}
  5644. AND qt.inspection_type_no = #{inspectionTypeNo}
  5645. </select>
  5646. <insert id="saveFQASDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5647. INSERT INTO qc_oqc_detailed_record
  5648. (inspection_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE,
  5649. 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)
  5650. VALUES
  5651. (#{inspectionNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL},
  5652. #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty}, #{buNo}, #{orderId})
  5653. </insert>
  5654. <update id="updateFQASRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5655. UPDATE qc_oqc_record
  5656. SET inspection_type_no = #{inspectionTypeNo},
  5657. sampling_qty = #{samplingQty},
  5658. inspection_cycle = #{inspectionCycle},
  5659. part_desc = #{partDesc},
  5660. detail_flag = 'Y',
  5661. pass_qty = #{samplingQty},
  5662. not_pass_qty = 0
  5663. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5664. </update>
  5665. <select id="qcOQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  5666. SELECT
  5667. a.inspection_no,
  5668. a.site,
  5669. a.bu_no,
  5670. dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
  5671. a.state,
  5672. a.inspection_result,
  5673. a.create_date as taskDate,
  5674. a.inspection_type_no,
  5675. a.inspection_cycle,
  5676. a.part_no,
  5677. a.part_desc,
  5678. d.umid as umId,
  5679. um.UMName as umName,
  5680. d.spec,
  5681. a.inspection_remark,
  5682. a.roll_qty,
  5683. a.sampling_qty,
  5684. a.disposal_measures,
  5685. a.disposal_remark,
  5686. a.inspector_date,
  5687. a.submit_flag,
  5688. a.roll_no,
  5689. a.roll_count,
  5690. a.action_date,
  5691. a.action_by,
  5692. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
  5693. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
  5694. isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
  5695. isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
  5696. a.pass_qty,
  5697. a.not_pass_qty,
  5698. a.create_by,
  5699. a.customer_no,
  5700. dbo.Get_CustomerDesc(a.site, a.customer_no) as customerName,
  5701. a.co_orderNo po_orderNo,
  5702. a.co_itemNo po_itemNo,
  5703. a.document_no,
  5704. a.del_notify_No,
  5705. a.del_notify_itemNo
  5706. FROM qc_oqc_record as a
  5707. left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.partNo
  5708. left join um as um on d.site = um.site and d.umid = um.UMID
  5709. <where>
  5710. a.site in (select site from AccessSite where userID = #{query.userName})
  5711. and a.bu_no in (select bu_no from AccessBu where username = #{query.userName})
  5712. <if test="query.buDesc != null and query.buDesc != ''">
  5713. AND dbo.get_bu_desc (a.site, a.bu_no) = #{query.buDesc}
  5714. </if>
  5715. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  5716. AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  5717. </if>
  5718. <if test = "query.states != null and query.states.size > 0">
  5719. AND a.state in
  5720. <foreach item="item" collection="query.states" open="(" separator="," close=")">
  5721. #{item}
  5722. </foreach>
  5723. </if>
  5724. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  5725. AND a.inspection_result = #{query.inspectionResult}
  5726. </if>
  5727. <if test = "query.partNo != null and query.partNo != ''">
  5728. AND a.part_no LIKE '%' + #{query.partNo} + '%'
  5729. </if>
  5730. <if test = "query.partDesc != null and query.partDesc != ''">
  5731. AND a.part_desc LIKE '%' + #{query.partDesc} + '%'
  5732. </if>
  5733. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  5734. AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  5735. </if>
  5736. <if test="query.startDate != null">
  5737. AND a.inspector_date >= #{query.startDate}
  5738. </if>
  5739. <if test="query.endDate != null">
  5740. AND #{query.endDate} >= a.inspector_date
  5741. </if>
  5742. <if test="query.startDate2 != null">
  5743. AND a.create_date >= #{query.startDate2}
  5744. </if>
  5745. <if test="query.endDate2 != null">
  5746. AND #{query.endDate2} >= a.create_date
  5747. </if>
  5748. <if test = "query.customerNo != null and query.customerNo != ''">
  5749. AND a.customer_no LIKE '%' + #{query.customerNo} + '%'
  5750. </if>
  5751. <if test = "query.customerName != null and query.customerName != ''">
  5752. AND dbo.Get_CustomerDesc(a.site, a.customer_no) LIKE '%' + #{query.customerName} + '%'
  5753. </if>
  5754. <if test = "query.poOrderNo != null and query.poOrderNo != ''">
  5755. AND a.po_orderNo LIKE '%' + #{query.poOrderNo} + '%'
  5756. </if>
  5757. <if test = "query.spec != null and query.spec != ''">
  5758. AND d.spec LIKE '%' + #{query.spec} + '%'
  5759. </if>
  5760. </where>
  5761. ORDER BY
  5762. CASE WHEN a.state = '待检验' THEN 1
  5763. WHEN a.state = '待审核' THEN 2
  5764. WHEN a.state = '已完成' THEN 3
  5765. END, a.create_date desc
  5766. </select>
  5767. <select id="fqasDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  5768. SELECT
  5769. a.site,
  5770. a.bu_no,
  5771. a.inspection_no,
  5772. a.template_id,
  5773. a.sampling_level_no,
  5774. a.sampling_level_desc,
  5775. a.sampling_programme_no,
  5776. a.sampling_programme_desc,
  5777. a.AQL,
  5778. a.AC,
  5779. a.RE,
  5780. a.item_no,
  5781. a.item_desc,
  5782. a.object_id,
  5783. a.object_desc,
  5784. a.default_value,
  5785. a.min_value,
  5786. a.max_value,
  5787. a.text_value,
  5788. a.number_value,
  5789. a.value_type_db,
  5790. a.value_type,
  5791. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  5792. a.is_submit,
  5793. a.unqualified_quantity,
  5794. dbo.qc_get_fqas_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  5795. dbo.qc_get_record_image_num(a.site, a.bu_no, a.inspection_no, a.item_no) as detailImageNum,
  5796. c.method_no,
  5797. c.method_name,
  5798. c.method_remark,
  5799. a.sampling_qty
  5800. FROM qc_oqc_detailed_record as a
  5801. 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
  5802. 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
  5803. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  5804. ORDER BY COALESCE(a.order_id, 99999) ASC
  5805. </select>
  5806. <select id="selectFQASSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
  5807. SELECT
  5808. site,
  5809. bu_no,
  5810. sub_detail_value,
  5811. sampling_location,
  5812. is_submit,
  5813. sampling_location_b,
  5814. num,
  5815. sub_detail_value_b,
  5816. sub_detail_value_c,
  5817. sub_detail_value_d,
  5818. sub_detail_value_e
  5819. FROM qc_oqc_sub_detail_record
  5820. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  5821. </select>
  5822. <select id="getSupplier" resultType="com.heai.modules.pms.data.SupplierData">
  5823. SELECT
  5824. site,
  5825. SupplierID,
  5826. SupplierName
  5827. FROM Supplier
  5828. WHERE site = #{site} and SupplierID = #{supplierID} and Active = #{active}
  5829. </select>
  5830. <update id="updateFQASMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5831. UPDATE qc_oqc_record
  5832. SET disposal_measures = #{disposalMeasures},
  5833. disposal_remark = #{disposalRemark},
  5834. inspection_result = #{inspectionResult},
  5835. inspector_no = #{inspectorNo},
  5836. state = #{state},
  5837. inspection_remark = #{inspectionRemark},
  5838. inspector_date = getDate(),
  5839. roll_count = #{rollCount,jdbcType=DECIMAL},
  5840. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  5841. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
  5842. pass_qty = #{passQty,jdbcType=DECIMAL},
  5843. not_pass_qty = #{notPassQty,jdbcType=DECIMAL}
  5844. WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
  5845. </update>
  5846. <update id="updateFQASDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5847. UPDATE qc_oqc_detailed_record
  5848. SET item_result = #{itemResult},
  5849. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  5850. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  5851. text_value = #{textValue},
  5852. number_value = #{numberValue,jdbcType=DECIMAL},
  5853. default_value = #{defaultValue},
  5854. min_value = #{minValue,jdbcType=DECIMAL},
  5855. max_value = #{maxValue,jdbcType=DECIMAL}
  5856. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  5857. </update>
  5858. <select id="getFQASInspectionRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  5859. SELECT
  5860. site,
  5861. bu_no,
  5862. inspection_no,
  5863. not_pass_qty,
  5864. roll_count,
  5865. inspection_result,
  5866. disposal_measures,
  5867. part_no
  5868. FROM qc_oqc_record
  5869. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  5870. </select>
  5871. <update id="updateFQASMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5872. UPDATE qc_oqc_record
  5873. SET submit_flag = 'Y',
  5874. state = '已完成'
  5875. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5876. </update>
  5877. <update id="updateFQASDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5878. UPDATE qc_oqc_detailed_record
  5879. SET is_submit = 'Y'
  5880. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5881. </update>
  5882. <update id="updateFQASSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5883. UPDATE qc_oqc_sub_detail_record
  5884. SET is_submit = 'Y'
  5885. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5886. </update>
  5887. <select id="checkFQASIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  5888. SELECT submit_flag
  5889. FROM qc_oqc_record
  5890. WHERE inspection_no = #{inspectionNo} and site = #{site}
  5891. </select>
  5892. <delete id="delFQASSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
  5893. DELETE FROM qc_oqc_sub_detail_record
  5894. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  5895. </delete>
  5896. <insert id="saveFQASSubDetailed">
  5897. INSERT INTO qc_oqc_sub_detail_record
  5898. (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no)
  5899. VALUES
  5900. <foreach collection="list" item="item" separator=",">
  5901. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo})
  5902. </foreach>
  5903. </insert>
  5904. <delete id="deleteFQASRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5905. DELETE FROM qc_oqc_record
  5906. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5907. </delete>
  5908. <delete id="deleteFQASDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5909. DELETE FROM qc_oqc_detailed_record
  5910. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5911. </delete>
  5912. <delete id="deleteFQASSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5913. DELETE FROM qc_oqc_sub_detail_record
  5914. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5915. </delete>
  5916. <select id="getFQASRecordStatus" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  5917. SELECT submit_flag, state
  5918. FROM qc_oqc_record
  5919. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  5920. </select>
  5921. <update id="actionFQASInspection" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5922. update qc_oqc_record
  5923. set action_date = getDate(),
  5924. action_by = #{actionBy},
  5925. state = #{state}
  5926. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  5927. </update>
  5928. <update id="updateSamplingQty" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5929. update
  5930. <if test = "inspectionTypeNo == '105'">
  5931. qc_iqc_record
  5932. </if>
  5933. <if test = "inspectionTypeNo == '108'">
  5934. qc_oqc_record
  5935. </if>
  5936. set sampling_qty = #{samplingQty,jdbcType=DECIMAL}
  5937. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  5938. </update>
  5939. <update id="updateDetailSamplingQty" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  5940. update
  5941. <if test = "inspectionTypeNo == '105'">
  5942. qc_iqc_detailed_record
  5943. </if>
  5944. <if test = "inspectionTypeNo == '108'">
  5945. qc_oqc_detailed_record
  5946. </if>
  5947. set sampling_qty = #{samplingQty,jdbcType=DECIMAL}
  5948. where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
  5949. </update>
  5950. <select id="getCheckerList" resultType="com.heai.modules.pms.data.EamAdminData" parameterType="com.heai.modules.pms.data.EamAdminData">
  5951. SELECT
  5952. a.user_id,
  5953. a.username as adminID,
  5954. a.email,
  5955. a.mobile as phone,
  5956. a.user_display as adminName,
  5957. dbo.get_bu_desc(c.site,c.bu_no) as buDesc,
  5958. d.role_id,
  5959. e.role_name
  5960. FROM sys_user as a
  5961. LEFT JOIN AccessSite as b on a.username = b.userID
  5962. LEFT JOIN AccessBu as c on b.username = c.username and b.site = c.site
  5963. LEFT JOIN sys_user_role as d on a.user_id = d.user_id
  5964. LEFT JOIN sys_role as e on d.role_id = e.role_id
  5965. <where>
  5966. b.site = #{site} and c.bu_no = #{buNo}
  5967. <if test = "adminID != null and adminID != ''">
  5968. AND a.username LIKE '%' + #{adminID}+'%'
  5969. </if>
  5970. <if test = "adminName != null and adminName != ''">
  5971. AND a.user_display LIKE '%' + #{adminName}+'%'
  5972. </if>
  5973. <if test = "buDesc != null and buDesc != ''">
  5974. AND dbo.get_bu_desc(a.site,c.bu_no) LIKE '%' + #{buDesc} + '%'
  5975. </if>
  5976. <if test = "roleId != null and roleId != ''">
  5977. AND d.role_id = #{roleId}
  5978. </if>
  5979. </where>
  5980. </select>
  5981. <select id="searchQcSopFileList" resultType="map">
  5982. SELECT DISTINCT
  5983. site,
  5984. buNo,
  5985. partNo,
  5986. sopNo,
  5987. sopName,
  5988. sopUrl,
  5989. [version],
  5990. sopStatus,
  5991. phaseInDate,
  5992. phaseOutDate,
  5993. createdBy,
  5994. creationDate,
  5995. sopType as fileType,
  5996. operationDesc
  5997. FROM (
  5998. SELECT
  5999. ps.site,
  6000. ps.bu_no AS buNo,
  6001. ps.part_no AS partNo,
  6002. ps.sop_no AS sopNo,
  6003. ps.sop_name AS sopName,
  6004. ps.sop_url AS sopUrl,
  6005. ps.[version ] AS [version],
  6006. ps.sop_status AS sopStatus,
  6007. ps.phase_in_date AS phaseInDate,
  6008. ps.phase_out_date AS phaseOutDate,
  6009. ps.created_by AS createdBy,
  6010. ps.creation_date AS creationDate,
  6011. ps.sop_type AS sopType,
  6012. ps.operation_desc AS operationDesc
  6013. FROM part_sop ps
  6014. WHERE ps.site = #{params.site}
  6015. AND ps.part_no = #{params.partNo}
  6016. UNION ALL
  6017. SELECT
  6018. fm.site,
  6019. fm.bu_no AS buNo,
  6020. '' AS partNo,
  6021. fm.file_no AS sopNo,
  6022. fm.file_name AS sopName,
  6023. fm.url_add_ress AS sopUrl,
  6024. fm.sop_rev_no AS [version],
  6025. fm.status AS sopStatus,
  6026. fm.phase_in_date AS phaseInDate,
  6027. fm.phase_out_date AS phaseOutDate,
  6028. fm.created_by AS createdBy,
  6029. fm.create_date AS creationDate,
  6030. fm.file_type AS sopType,
  6031. fm.item_no AS operationDesc
  6032. FROM file_management fm
  6033. WHERE fm.site = #{params.site}
  6034. AND fm.file_type = '质量'
  6035. AND (
  6036. ISNULL(fm.public_flag, 'N') = 'Y'
  6037. OR fm.order_no = #{params.orderNo}
  6038. )
  6039. ) AS CombinedResults
  6040. </select>
  6041. <update id="updateSaleBoxManageStatus">
  6042. update outbound_notification_head
  6043. set order_status = #{status}
  6044. where site = #{site} and bu_no = #{buNo} and order_no = #{documentNo}
  6045. </update>
  6046. <update id="updateSaleBoxManageInspectionFlag">
  6047. update outbound_notification_detail
  6048. set inspection_flag = #{inspectionFlag}
  6049. where site = #{site} and bu_no = #{buNo} and order_no = #{documentNo}
  6050. </update>
  6051. <!-- OQC 审核:qc_oqc_record.document_no = 通知单单号;序号使用 serial_no(若表中有 del_notify_item_no 可在 Java 侧扩展映射) -->
  6052. <select id="selectOqcDelNotifyKeys" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
  6053. SELECT
  6054. document_no AS documentNo,
  6055. del_notify_No AS delNotifyNo
  6056. FROM qc_oqc_record
  6057. WHERE site = #{site}
  6058. AND bu_no = #{buNo}
  6059. AND inspection_no = #{inspectionNo}
  6060. </select>
  6061. <select id="selectCODelNotifyDetailInsApproveBefore" resultType="com.heai.modules.pms.data.QcCODelNotifyInsApproveSnapshot">
  6062. SELECT
  6063. Ins_ApproveFlag AS insApproveFlag,
  6064. Ins_ApproveResultFlag AS insApproveResultFlag,
  6065. Ins_ApprovedBy AS insApprovedBy,
  6066. Ins_ApprovedDate AS insApprovedDate,
  6067. Ins_Remark AS insRemark
  6068. FROM CODelNotifyDetail
  6069. WHERE Site = #{site}
  6070. AND DelNotifyNo = #{delNotifyNo}
  6071. AND DelNotifyItemNo = #{delNotifyItemNo}
  6072. </select>
  6073. <update id="updateCODelNotifyDetailOqcApprove">
  6074. UPDATE CODelNotifyDetail
  6075. SET Ins_ApproveFlag = 'Y',
  6076. Ins_ApproveResultFlag = #{insApproveResultFlag},
  6077. Ins_ApprovedBy = #{insApprovedBy},
  6078. Ins_ApprovedDate = GETDATE(),
  6079. Ins_Remark = #{insRemark,jdbcType=NVARCHAR}
  6080. WHERE Site = #{site}
  6081. AND DelNotifyNo = #{delNotifyNo}
  6082. AND DelNotifyItemNo = #{delNotifyItemNo,jdbcType=DECIMAL}
  6083. </update>
  6084. <update id="updateCODelNotifyDetailOqcCancelApprove">
  6085. UPDATE CODelNotifyDetail
  6086. SET Ins_ApproveFlag = 'N',
  6087. Ins_ApproveResultFlag = '',
  6088. Ins_ApprovedBy = '',
  6089. Ins_ApprovedDate = NULL,
  6090. Ins_Remark = ''
  6091. WHERE Site = #{site}
  6092. AND DelNotifyNo = #{delNotifyNo}
  6093. AND DelNotifyItemNo = #{delNotifyItemNo,jdbcType=DECIMAL}
  6094. </update>
  6095. <update id="updateFQASMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  6096. UPDATE qc_oqc_record
  6097. SET submit_flag = 'N',
  6098. state = '待审核'
  6099. WHERE inspection_no = #{inspectionNo} AND site = #{site} AND bu_no = #{buNo}
  6100. </update>
  6101. <update id="updateFQASDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  6102. UPDATE qc_oqc_detailed_record
  6103. SET is_submit = 'N'
  6104. WHERE inspection_no = #{inspectionNo} AND site = #{site} AND bu_no = #{buNo}
  6105. </update>
  6106. <update id="updateFQASSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
  6107. UPDATE qc_oqc_sub_detail_record
  6108. SET is_submit = 'N'
  6109. WHERE inspection_no = #{inspectionNo} AND site = #{site} AND bu_no = #{buNo}
  6110. </update>
  6111. <select id="getPatrolOperationDescList" parameterType="java.util.Map" resultType="java.lang.String">
  6112. SELECT DISTINCT OperationDesc
  6113. FROM RoutingDetail
  6114. <where>
  6115. <if test="site != null and site != ''">
  6116. AND site = #{site}
  6117. </if>
  6118. <if test="userName != null and userName != ''">
  6119. AND site IN (SELECT site FROM AccessSite WHERE UserID = #{userName})
  6120. </if>
  6121. </where>
  6122. ORDER BY OperationDesc
  6123. </select>
  6124. </mapper>