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.

5121 lines
232 KiB

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