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

5069 lines
229 KiB

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