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.

3155 lines
138 KiB

3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  3. <mapper namespace="com.xujie.sys.modules.pms.mapper.QcMapper">
  4. <!-- ================================================= 检验方法 ================================================= -->
  5. <!-- 条件查询检验方法 -->
  6. <select id="qcMethodSearch" parameterType="QcMethodData" resultType="QcMethodData">
  7. SELECT
  8. 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. qm.inspection_type_no,
  19. qit.inspection_type_name
  20. FROM qc_method as qm
  21. LEFT JOIN qc_inspection_type as qit on qm.site = qit.site and qm.inspection_type_no = qit.inspection_type_no
  22. <where>
  23. qm.site in (select site from eam_access_site where username = #{query.userName})
  24. and (qm.site + '-' + qm.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  25. <if test="query.buDesc != null and query.buDesc != ''">
  26. AND dbo.get_bu_desc ( qm.site, qm.bu_no ) = #{query.buDesc}
  27. </if>
  28. <if test="query.methodNo != null and query.methodNo != ''">
  29. AND qm.method_no LIKE '%' + #{query.methodNo} +'%'
  30. </if>
  31. <if test="query.methodName != null and query.methodName != ''">
  32. AND qm.method_name LIKE '%' + #{query.methodName} +'%'
  33. </if>
  34. <if test="query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  35. AND qm.inspection_type_no = #{query.inspectionTypeNo}
  36. </if>
  37. </where>
  38. </select>
  39. <!-- 获得检验方法单号 -->
  40. <select id="getMethodNo" resultType="string" parameterType="QcMethodData">
  41. SELECT
  42. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(method_no,4))),0)+1),4)
  43. FROM qc_method
  44. WHERE site = #{site} AND inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
  45. </select>
  46. <!-- 新增检验方法 -->
  47. <insert id="qcMethodSave" parameterType="QcMethodData">
  48. INSERT INTO qc_method (site, bu_no, method_no, method_name, create_date, create_by, method_remark, update_date, update_by, inspection_type_no)
  49. VALUES (#{site}, #{buNo}, #{methodNo}, #{methodName}, GetDate(), #{createBy}, #{methodRemark}, getDate(), #{updateBy}, #{inspectionTypeNo})
  50. </insert>
  51. <!-- 修改检验方法 -->
  52. <update id="qcMethodUpdate" parameterType="QcMethodData">
  53. UPDATE qc_method
  54. SET method_name = #{methodName},
  55. method_remark = #{methodRemark},
  56. update_date = getDate(),
  57. update_by = #{updateBy},
  58. inspection_type_no = #{inspectionTypeNo}
  59. WHERE site = #{site} and method_no = #{methodNo} and bu_no = #{buNo}
  60. </update>
  61. <!-- 检查方法是否在被项目使用 -->
  62. <select id="checkMethodIsUsed" parameterType="QcMethodData" resultType="EamPropertiesItemData">
  63. SELECT
  64. ItemNo
  65. FROM qc_method_item
  66. WHERE site = #{site} and method_no = #{methodNo} and bu_no = #{buNo}
  67. </select>
  68. <!-- 删除检验方法 -->
  69. <delete id="qcMethodDelete" parameterType="QcMethodData">
  70. DELETE FROM qc_method
  71. WHERE site = #{site} and method_no = #{methodNo} and bu_no = #{buNo}
  72. </delete>
  73. <!-- ================================================= 检验项目 ================================================= -->
  74. <!-- 根据条件查询检验项目 -->
  75. <select id="qcItemSearch" parameterType="QcItemData" resultType="QcItemData">
  76. SELECT
  77. epi.site,
  78. epi.bu_no,
  79. dbo.get_bu_desc(epi.site, epi.bu_no) as buDesc,
  80. epi.ItemNo,
  81. epi.ItemDesc,
  82. epi.DefaultValue,
  83. epi.ValueType,
  84. epi.ValueType_DB as valueTypeDb,
  85. epi.ValueChooseFlag,
  86. epi.CreatedDate,
  87. epi.CreatedBy,
  88. epi.MaxValue,
  89. epi.MinValue,
  90. epi.ItemRemark,
  91. epi.ItemType,
  92. epi.update_date,
  93. epi.update_by,
  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. FROM eam_properties_item as epi
  106. LEFT JOIN qc_method_item as qmi on epi.ItemNo = qmi.ItemNo and epi.site = qmi.site and epi.bu_no = qmi.bu_no
  107. 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
  108. LEFT JOIN qc_inspection_type as qit on qit.inspection_type_no = epi.inspection_type_no and qit.site = epi.site
  109. 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
  110. 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
  111. <where>
  112. epi.site in (select site from eam_access_site where username = #{query.userName})
  113. and (epi.site + '-' + epi.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  114. and epi.ItemType = #{query.itemType}
  115. <if test="query.buDesc != null and query.buDesc != ''">
  116. AND dbo.get_bu_desc ( epi.site, epi.bu_no ) = #{query.buDesc}
  117. </if>
  118. <if test="query.itemDesc != null and query.itemDesc != ''">
  119. AND epi.ItemDesc LIKE '%' + #{query.itemDesc} +'%'
  120. </if>
  121. <if test="query.itemNo != null and query.itemNo != ''">
  122. AND epi.ItemNo LIKE '%' + #{query.itemNo} +'%'
  123. </if>
  124. <if test="query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  125. AND epi.inspection_type_no = #{query.inspectionTypeNo}
  126. </if>
  127. </where>
  128. </select>
  129. <!-- 检测是否存在该项目 -->
  130. <select id="checkQcItem" parameterType="QcItemData" resultType="QcItemData">
  131. SELECT ItemNo,
  132. ItemDesc
  133. FROM eam_properties_item
  134. WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
  135. </select>
  136. <!-- 获得检验项目单号 -->
  137. <select id="getItemNo" resultType="string" parameterType="QcItemData">
  138. SELECT
  139. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(ItemNo,4))),0)+1),4)
  140. FROM eam_properties_item
  141. WHERE site = #{site} and ItemType = 'D' and inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
  142. </select>
  143. <!-- 新增检验项目 -->
  144. <insert id="qcItemSave" parameterType="QcItemData">
  145. 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)
  146. 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})
  147. </insert>
  148. <!-- 新增项目里的方法 -->
  149. <insert id="qcItemMethodSave" parameterType="QcItemData">
  150. INSERT INTO qc_method_item (ItemNo, method_no, site, bu_no)
  151. VALUES (#{itemNo}, #{methodNo}, #{site}, #{buNo})
  152. </insert>
  153. <!-- 修改检验项目 -->
  154. <update id="qcItemUpdate" parameterType="QcItemData">
  155. UPDATE eam_properties_item
  156. SET ItemDesc = #{itemDesc},
  157. DefaultValue = #{defaultValue},
  158. ValueType = #{valueType},
  159. ValueType_DB = #{valueTypeDb},
  160. ValueChooseFlag = #{valueChooseFlag},
  161. MaxValue = #{maxValue,jdbcType=DECIMAL},
  162. MinValue = #{minValue,jdbcType=DECIMAL},
  163. ItemRemark = #{itemRemark},
  164. update_date = getDate(),
  165. update_by = #{updateBy},
  166. inspection_type_no = #{inspectionTypeNo},
  167. item_sampling_quantity = #{itemSamplingQuantity},
  168. sampling_programme_no = #{samplingProgrammeNo},
  169. sampling_level_no = #{samplingLevelNo},
  170. default_sampling_proportion = #{defaultSamplingProportion}
  171. WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
  172. </update>
  173. <!-- 修改项目中的方法 -->
  174. <update id="qcItemMethodUpdate" parameterType="QcItemData">
  175. UPDATE qc_method_item
  176. SET method_no = #{methodNo}
  177. WHERE site = #{site} and ItemNo = #{itemNo}
  178. </update>
  179. <!-- 检查项目是否在被模板使用 -->
  180. <select id="checkItemIsUsed" parameterType="QcItemData" resultType="EamPropertiesModelDetailData">
  181. SELECT template_id
  182. FROM qc_template_detailed
  183. WHERE site = #{site} and ItemNo = #{itemNo} and bu_no = #{buNo}
  184. </select>
  185. <!-- 删除检验项目 -->
  186. <delete id="qcItemDelete" parameterType="QcItemData">
  187. DELETE
  188. FROM eam_properties_item
  189. WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType} and bu_no = #{buNo}
  190. </delete>
  191. <!-- 删除项目-方法中间表数据 -->
  192. <delete id="qcItemMethodDelete" parameterType="QcItemData">
  193. DELETE
  194. FROM qc_method_item
  195. WHERE site = #{site} and ItemNo = #{itemNo} and bu_no = #{buNo}
  196. </delete>
  197. <!-- ================================================= 质检员信息维护 ================================================= -->
  198. <!-- 查询质检员信息列表 -->
  199. <select id="inspectorSearch" resultType="QcInspectorData">
  200. SELECT inspector_no,
  201. inspector_name,
  202. inspector_phone,
  203. inspector_type,
  204. inspector_active
  205. FROM qc_inspector
  206. </select>
  207. <!-- 检验是否已存在该质检员 -->
  208. <select id="checkInspector" resultType="QcInspectorData">
  209. SELECT inspector_name
  210. FROM qc_inspector
  211. WHERE inspector_no = #{inspectorNo}
  212. </select>
  213. <!-- 新增质检员 -->
  214. <insert id="inspectorSave" parameterType="QcInspectorData">
  215. INSERT INTO qc_inspector (inspector_no, inspector_name, inspector_phone, inspector_type, inspector_active, create_time)
  216. VALUES (#{inspectorNo}, #{inspectorName}, #{inspectorPhone}, #{inspectorType}, #{inspectorActive}, getDate())
  217. </insert>
  218. <!-- 修改质检员 -->
  219. <update id="inspectorUpdate" parameterType="QcInspectorData">
  220. UPDATE qc_inspector
  221. SET inspector_name = #{inspectorName},
  222. inspector_phone = #{inspectorPhone},
  223. inspector_type = #{inspectorType},
  224. inspector_active = #{inspectorActive}
  225. WHERE inspector_no = #{inspectorNo}
  226. </update>
  227. <!-- 删除质检员 -->
  228. <delete id="inspectorDelete" parameterType="QcInspectorData">
  229. DELETE FROM qc_inspector
  230. WHERE inspector_no = #{inspectorNo}
  231. </delete>
  232. <!-- ================================================= 抽样矩阵维护 ================================================= -->
  233. <!-- 查询抽样矩阵 -->
  234. <select id="samplingInspectionPlanSearch" parameterType="QcSamplingInspectionPlanData" resultType="QcSamplingInspectionPlanData">
  235. SELECT
  236. qsip.site,
  237. qsip.bu_no,
  238. dbo.get_bu_desc(qsip.site, qsip.bu_no) as buDesc,
  239. qsip.sampling_plan_no,
  240. qsip.sampling_plan_desc,
  241. qsip.sampling_qty_no,
  242. qsiq.sampling_qty,
  243. qsiq.sampling_qty_desc,
  244. qsip.sampling_qty_rank_no,
  245. qsiqr.sampling_qty_rank_desc,
  246. qsiqr.min_qty,
  247. qsiqr.max_qty,
  248. qsip.sampling_level_no,
  249. qsil.sampling_level_desc,
  250. qsip.sampling_plan_active,
  251. qsip.create_date,
  252. qsip.create_by,
  253. qsip.update_date,
  254. qsip.update_by
  255. FROM qc_sampling_inspection_plan as qsip
  256. 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
  257. 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
  258. 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
  259. <where>
  260. qsip.site in (select site from eam_access_site where username = #{query.userName})
  261. and (qsip.site + '-' + qsip.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  262. <if test="query.buDesc != null and query.buDesc != ''">
  263. AND dbo.get_bu_desc ( qsip.site, qsip.bu_no ) = #{query.buDesc}
  264. </if>
  265. <if test="query.samplingQtyDesc != null and query.samplingQtyDesc != ''">
  266. AND qsiq.sampling_qty_desc LIKE '%' + #{query.samplingQtyDesc}+'%'
  267. </if>
  268. <if test="query.samplingLevelDesc != null and query.samplingLevelDesc != ''">
  269. AND qsil.sampling_level_desc LIKE '%' + #{query.samplingLevelDesc}+'%'
  270. </if>
  271. <if test="query.samplingPlanActive != null and query.samplingPlanActive != ''">
  272. AND qsip.sampling_plan_active = #{query.samplingPlanActive}
  273. </if>
  274. </where>
  275. </select>
  276. <!-- 根据三个编码查矩阵 -->
  277. <select id="selectSamplingPlanByNo" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionPlanData">
  278. SELECT
  279. site,
  280. bu_no,
  281. sampling_plan_no,
  282. sampling_qty_no,
  283. sampling_qty_rank_no,
  284. sampling_level_no,
  285. sampling_plan_active
  286. FROM qc_sampling_inspection_plan
  287. WHERE sampling_qty_no = #{samplingQtyNo} AND sampling_qty_rank_no = #{samplingQtyRankNo} AND sampling_level_no = #{samplingLevelNo} AND site = #{site} and bu_no = #{buNo}
  288. </select>
  289. <!-- 根据名称查矩阵 -->
  290. <select id="selectSamplingPlanByDesc" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionPlanData">
  291. SELECT
  292. site,
  293. bu_no,
  294. sampling_plan_no,
  295. sampling_qty_no,
  296. sampling_qty_rank_no,
  297. sampling_level_no,
  298. sampling_plan_active
  299. FROM qc_sampling_inspection_plan
  300. WHERE sampling_plan_desc = #{samplingPlanDesc} AND site = #{site} and bu_no = #{buNo}
  301. </select>
  302. <!-- 获取最大方矩阵编码 -->
  303. <select id="queryLastSamplingPlanNo" resultType="string" parameterType="QcSamplingInspectionPlanData">
  304. SELECT top 1 sampling_plan_no
  305. FROM qc_sampling_inspection_plan
  306. where site = #{site} and bu_no = #{buNo}
  307. ORDER BY sampling_plan_no Desc
  308. </select>
  309. <!-- 新增抽样矩阵 -->
  310. <insert id="samplingInspectionPlanSave" parameterType="QcSamplingInspectionPlanData">
  311. 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)
  312. VALUES (#{site}, #{buNo}, #{samplingPlanNo}, #{samplingPlanDesc}, #{samplingQtyRankNo}, #{samplingLevelNo}, #{samplingQtyNo}, #{samplingPlanActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  313. </insert>
  314. <!-- 修改抽样矩阵 -->
  315. <update id="samplingInspectionPlanUpdate" parameterType="QcSamplingInspectionPlanData">
  316. UPDATE qc_sampling_inspection_plan
  317. SET sampling_qty_rank_no = #{samplingQtyRankNo},
  318. sampling_level_no = #{samplingLevelNo},
  319. sampling_qty_no = #{samplingQtyNo},
  320. sampling_plan_active = #{samplingPlanActive},
  321. update_date = getDate(),
  322. update_by = #{updateBy}
  323. WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo}
  324. </update>
  325. <!-- 删除抽样矩阵 -->
  326. <delete id="samplingInspectionPlanDelete" parameterType="QcSamplingInspectionPlanData">
  327. DELETE FROM qc_sampling_inspection_plan
  328. WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo}
  329. </delete>
  330. <!-- ================================================= 检验模板维护 ================================================= -->
  331. <!-- 查询模板 -->
  332. <select id="templateSearch" parameterType="QcTemplateData" resultType="QcTemplateData">
  333. SELECT
  334. qt.site,
  335. qt.bu_no,
  336. dbo.get_bu_desc(qt.site, qt.bu_no) as buDesc,
  337. qt.template_id,
  338. qt.template_name,
  339. qt.template_remark,
  340. qt.template_type,
  341. qt.template_version,
  342. qt.sampling_programme_no,
  343. qsip.sampling_programme_Desc,
  344. qt.inspection_type_no,
  345. qit.inspection_type_name,
  346. qt.sampling_level_no,
  347. qsil.sampling_level_desc,
  348. qt.inspection_cycle,
  349. qt.create_time,
  350. qt.create_by,
  351. qt.update_date,
  352. qt.update_by,
  353. qt.AQL,
  354. qt.AC,
  355. qt.RE,
  356. qt.default_sampling_quantity,
  357. qt.default_sampling_proportion
  358. FROM qc_template as qt
  359. LEFT JOIN qc_inspection_type as qit on qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  360. 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
  361. 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
  362. <where>
  363. qt.site in (select site from eam_access_site where username = #{query.userName})
  364. and (qt.site + '-' + qt.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  365. <if test="query.buDesc != null and query.buDesc != ''">
  366. AND dbo.get_bu_desc ( qt.site, qt.bu_no ) = #{query.buDesc}
  367. </if>
  368. <if test = "query.templateId != null and query.templateId != ''">
  369. AND qt.template_id LIKE '%' + #{query.templateId}+'%'
  370. </if>
  371. <if test = "query.templateName != null and query.templateName != ''">
  372. AND qt.template_name LIKE '%' + #{query.templateName}+'%'
  373. </if>
  374. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  375. AND qt.inspection_type_no = #{query.inspectionTypeNo}
  376. </if>
  377. </where>
  378. </select>
  379. <!-- 获得检验模板单号 -->
  380. <select id="getTemplateNo" resultType="string" parameterType="QcTemplateData">
  381. SELECT
  382. Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(template_id,3))),0)+1),3)
  383. FROM qc_template
  384. WHERE site = #{site} and inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
  385. </select>
  386. <!-- 新增模板 -->
  387. <insert id="templateSave" parameterType="QcTemplateData">
  388. 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)
  389. VALUES (#{site}, #{buNo}, #{templateId}, #{templateName},#{templateVersion}, #{templateRemark}, #{templateType}, #{samplingProgrammeNo}, #{inspectionTypeNo}, getDate(), #{createBy}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{aql}, #{ac}, #{re}, #{defaultSamplingQuantity}, #{defaultSamplingProportion}, getDate(), #{updateBy})
  390. </insert>
  391. <!-- 修改模板 -->
  392. <update id="templateUpdate" parameterType="QcTemplateData">
  393. UPDATE qc_template
  394. SET template_name = #{templateName},
  395. template_version = #{templateVersion},
  396. template_remark = #{templateRemark},
  397. template_type = #{templateType},
  398. sampling_programme_no = #{samplingProgrammeNo},
  399. inspection_cycle = #{inspectionCycle},
  400. inspection_type_no = #{inspectionTypeNo},
  401. sampling_level_no = #{samplingLevelNo},
  402. AQL = #{aql},
  403. AC = #{ac},
  404. RE = #{re},
  405. default_sampling_quantity = #{defaultSamplingQuantity},
  406. default_sampling_proportion = #{defaultSamplingProportion},
  407. update_date = getDate(),
  408. update_by = #{updateBy}
  409. WHERE template_id = #{templateId} AND site = #{site} and bu_no = #{buNo}
  410. </update>
  411. <!-- 查询模板里的项目详情 -->
  412. <select id="templateDetailsSearch" resultType="QcTemplateData">
  413. SELECT
  414. a.site,
  415. a.bu_no,
  416. a.template_id,
  417. a.ItemNo,
  418. b.ItemDesc,
  419. a.default_value,
  420. b.ValueType,
  421. b.ValueType_DB,
  422. a.max_value,
  423. a.min_value,
  424. b.ItemRemark,
  425. b.ItemType,
  426. a.object_id,
  427. eo.objectDesc,
  428. b.item_sampling_quantity,
  429. b.sampling_programme_no,
  430. c.sampling_programme_desc,
  431. b.sampling_level_no,
  432. d.sampling_level_desc,
  433. b.default_sampling_proportion
  434. FROM qc_template_detailed a
  435. LEFT JOIN eam_properties_item b ON a.ItemNo = b.ItemNo and a.site = b.site and a.bu_no = b.bu_no
  436. 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
  437. 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
  438. LEFT JOIN eam_object eo ON a.object_id = eo.ObjectID and a.site = b.site and a.bu_no = b.bu_no
  439. WHERE a.template_id = #{templateId} AND b.ItemType = #{itemType} and a.site = #{site} and a.bu_no = #{buNo}
  440. </select>
  441. <!-- 查询模板里是否已存在该项目 -->
  442. <select id="selectItemDetails" resultType="QcTemplateData">
  443. SELECT template_id,
  444. ItemNo,
  445. default_value,
  446. max_value,
  447. min_value
  448. FROM qc_template_detailed
  449. WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
  450. </select>
  451. <!-- 查询项目的最大最小值 -->
  452. <select id="selectDetail" resultType="QcTemplateData">
  453. SELECT ItemNo,
  454. DefaultValue,
  455. MaxValue,
  456. MinValue
  457. FROM eam_properties_item
  458. WHERE ItemNo = #{itemNo} and ItemType = #{itemType} and site = #{site} and bu_no = #{buNo}
  459. </select>
  460. <!-- 新增模板的检验项目 -->
  461. <insert id="addItemDetails" parameterType="QcTemplateData">
  462. INSERT INTO qc_template_detailed (template_id, ItemNo, default_value, max_value, min_value, site, bu_no)
  463. VALUES (#{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{site}, #{buNo})
  464. </insert>
  465. <!-- 删除模板的检验项目 -->
  466. <delete id="delItemDetails" >
  467. DELETE FROM qc_template_detailed
  468. WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
  469. </delete>
  470. <!-- 获取当前模板不包含的项目 -->
  471. <select id="getItemList" resultType="QcTemplateData">
  472. SELECT
  473. a.site,
  474. a.bu_no,
  475. a.itemNo,
  476. a.ItemDesc,
  477. a.DefaultValue,
  478. a.MaxValue,
  479. a.MinValue
  480. FROM eam_properties_item a
  481. 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
  482. 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}
  483. </select>
  484. <!-- 查询项目 -->
  485. <select id="getItem" resultType="QcTemplateData">
  486. SELECT
  487. a.site,
  488. a.bu_no,
  489. a.itemNo,
  490. a.ItemDesc,
  491. a.DefaultValue,
  492. a.MaxValue,
  493. a.MinValue
  494. FROM eam_properties_item a
  495. 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
  496. <where>
  497. 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}
  498. <if test = "itemNo != null and itemNo != ''">
  499. AND a.ItemNo LIKE '%' + #{itemNo} + '%'
  500. </if>
  501. <if test = "itemDesc != null and itemDesc != ''">
  502. AND a.ItemDesc LIKE '%' + #{itemDesc} + '%'
  503. </if>
  504. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  505. AND a.inspection_type_no = #{inspectionTypeNo}
  506. </if>
  507. </where>
  508. </select>
  509. <!-- 删除模板 -->
  510. <delete id="templateDelete" parameterType="QcTemplateData">
  511. DELETE FROM qc_template
  512. WHERE template_id = #{templateId} AND site = #{site} and bu_no = #{buNo}
  513. </delete>
  514. <!-- 删除模板-项目中间表 -->
  515. <delete id="itemItemDelete" parameterType="QcTemplateData">
  516. DELETE FROM qc_template_detailed
  517. WHERE template_id = #{templateId} and site = #{site} and bu_no = #{buNo}
  518. </delete>
  519. <!-- 搜索所有检验类型 -->
  520. <select id="inspectionTypeSearch" resultType="QcInspectionTypeData" parameterType="QcInspectionTypeData">
  521. SELECT inspection_type_no,
  522. inspection_type_name
  523. FROM qc_inspection_type
  524. WHERE site = #{site}
  525. </select>
  526. <!-- 搜索所有设备 -->
  527. <select id="objectSearch" resultType="EamObjectData">
  528. SELECT ObjectID,
  529. ObjectDesc
  530. FROM eam_object
  531. WHERE Active = 'Y' and site = #{site} and bu_no = #{buNo}
  532. </select>
  533. <!-- 导入文件检验 -->
  534. <select id="getItemByItemNo" resultType="EamPropertiesItemData" parameterType="QcItemData">
  535. SELECT ItemDesc,
  536. ItemType
  537. FROM eam_properties_item
  538. WHERE ItemDesc = #{itemDesc}
  539. AND DefaultValue = #{defaultValue}
  540. AND MaxValue = #{maxValue}
  541. AND MinValue = #{minValue}
  542. AND ItemType = #{itemType}
  543. </select>
  544. <!-- 新增检验项目 -->
  545. <insert id="insertItem" parameterType="EamPropertiesItemData">
  546. INSERT INTO eam_properties_item (ItemNo, ItemDesc,DefaultValue,ValueType,ValueType_DB, CreatedDate,CreatedBy,MaxValue, MinValue, ItemRemark,ItemType)
  547. VALUES(#{itemNo},#{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType})
  548. </insert>
  549. <!-- &lt;!&ndash; 获取最大项目编码 &ndash;&gt;-->
  550. <!-- <select id="queryLastItemNo" resultType="string" parameterType="QcItemData">-->
  551. <!-- SELECT top 1 ItemNo-->
  552. <!-- FROM eam_properties_item-->
  553. <!-- WHERE ItemType = #{itemType}-->
  554. <!-- ORDER BY ItemNo Desc-->
  555. <!-- </select>-->
  556. <!-- 根据模板名称查询模板 -->
  557. <select id="selectTemplateByDesc" parameterType="QcTemplateData" resultType="QcTemplateData">
  558. SELECT template_id,
  559. template_name,
  560. template_version
  561. FROM qc_template
  562. WHERE template_name = #{templateName}
  563. AND site = #{site}
  564. AND template_version = #{templateVersion}
  565. </select>
  566. <!-- 修改项目明细的最大最小值 -->
  567. <update id="saveItemDetailed" parameterType="QcTemplateData">
  568. UPDATE qc_template_detailed
  569. SET default_value = #{defaultValue},
  570. max_value = #{maxValue,jdbcType=DECIMAL},
  571. min_value = #{minValue,jdbcType=DECIMAL},
  572. object_id = #{objectID}
  573. WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
  574. </update>
  575. <!-- 查询项目明细 -->
  576. <select id="selectItem" resultType="QcTemplateData">
  577. SELECT ItemNo,
  578. ItemDesc,
  579. DefaultValue,
  580. ValueType,
  581. ValueType_DB,
  582. MaxValue,
  583. MinValue,
  584. ItemRemark,
  585. ItemType
  586. FROM eam_properties_item
  587. WHERE ItemNo = #{itemNo}
  588. AND ItemType = #{itemType}
  589. </select>
  590. <!-- ================================================= 样本量维护 ================================================= -->
  591. <!-- 查询样本量 -->
  592. <select id="samplingQtySearch" parameterType="com.xujie.sys.modules.pms.data.QcSamplingInspectionQtyData" resultType="com.xujie.sys.modules.pms.data.QcSamplingInspectionQtyData">
  593. SELECT
  594. site,
  595. bu_no,
  596. dbo.get_bu_desc(site, bu_no) as buDesc,
  597. sampling_qty_no,
  598. sampling_qty_desc,
  599. sampling_qty,
  600. sampling_qty_remark,
  601. sampling_qty_active,
  602. create_date,
  603. create_by,
  604. update_date,
  605. update_by
  606. FROM qc_sampling_inspection_qty
  607. <where>
  608. site in (select site from eam_access_site where username = #{query.userName})
  609. and (site + '-' + bu_no) in (select * from dbo.query_bu(#{query.userName}))
  610. <if test="query.buDesc != null and query.buDesc != ''">
  611. AND dbo.get_bu_desc ( site, bu_no ) = #{query.buDesc}
  612. </if>
  613. <if test="query.samplingQtyNo != null and query.samplingQtyNo != ''">
  614. AND sampling_qty_no LIKE '%' + #{query.samplingQtyNo} + '%'
  615. </if>
  616. <if test="query.samplingQtyDesc != null and query.samplingQtyDesc != ''">
  617. AND sampling_qty_desc LIKE '%' + #{query.samplingQtyDesc} + '%'
  618. </if>
  619. <if test="query.samplingQty != null">
  620. AND sampling_qty = #{query.samplingQty,jdbcType=DECIMAL}
  621. </if>
  622. <if test="query.samplingQtyActive != null and query.samplingQtyActive != ''">
  623. AND sampling_qty_active = #{query.samplingQtyActive}
  624. </if>
  625. </where>
  626. </select>
  627. <!-- 新增样本量 -->
  628. <insert id="samplingQtySave" parameterType="QcSamplingInspectionQtyData">
  629. 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)
  630. VALUES(#{site}, #{buNo}, #{samplingQtyNo}, #{samplingQty,jdbcType=DECIMAL}, #{samplingQtyRemark}, #{samplingQtyActive}, #{samplingQtyDesc}, getDate(), #{createBy}, getDate(), #{updateBy})
  631. </insert>
  632. <!-- 根据样本量字码查询样本量 -->
  633. <select id="selectSamplingQtyByDesc" parameterType="QcSamplingInspectionQtyData" resultType="QcSamplingInspectionQtyData">
  634. SELECT
  635. site,
  636. bu_no,
  637. sampling_qty_no,
  638. sampling_qty_desc,
  639. sampling_qty,
  640. sampling_qty_remark,
  641. sampling_qty_active
  642. FROM qc_sampling_inspection_qty
  643. WHERE sampling_qty_desc = #{samplingQtyDesc} AND site = #{site} and bu_no = #{buNo}
  644. </select>
  645. <!-- 获取最大样本量编码 -->
  646. <select id="queryLastSamplingQtyNo" resultType="string" parameterType="QcSamplingInspectionQtyData">
  647. SELECT top 1 sampling_qty_no
  648. FROM qc_sampling_inspection_qty
  649. where site = #{site} and bu_no = #{buNo}
  650. ORDER BY sampling_qty_no Desc
  651. </select>
  652. <!-- 修改样本量 -->
  653. <update id="samplingQtyUpdate" parameterType="QcSamplingInspectionQtyData">
  654. UPDATE qc_sampling_inspection_qty
  655. SET sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  656. sampling_qty_desc = #{samplingQtyDesc},
  657. sampling_qty_remark = #{samplingQtyRemark},
  658. sampling_qty_active = #{samplingQtyActive},
  659. update_date = getDate(),
  660. update_by = #{updateBy}
  661. WHERE sampling_qty_no = #{samplingQtyNo} AND site = #{site} and bu_no = #{buNo}
  662. </update>
  663. <!-- 根据样本量编码查询矩阵 -->
  664. <select id="selectSamplingPlanBySamplingQtyNo" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionQtyData">
  665. SELECT
  666. site,
  667. sampling_plan_no,
  668. sampling_qty_no,
  669. sampling_qty_rank_no,
  670. sampling_level_no,
  671. sampling_plan_active
  672. FROM qc_sampling_inspection_plan
  673. WHERE site = #{site} AND sampling_qty_no = #{samplingQtyNo} and bu_no = #{buNo}
  674. </select>
  675. <!-- 删除样本量 -->
  676. <delete id="samplingQtyDelete" parameterType="QcSamplingInspectionQtyData">
  677. DELETE FROM qc_sampling_inspection_qty
  678. WHERE site = #{site} AND sampling_qty_no = #{samplingQtyNo} AND sampling_qty_desc = #{samplingQtyDesc} and bu_no = #{buNo}
  679. </delete>
  680. <!-- ================================================= 批量级次维护 ================================================= -->
  681. <!-- 查询批量级次 -->
  682. <select id="samplingQtyRankSearch" parameterType="com.xujie.sys.modules.pms.data.QcSamplingInspectionQtyRankData" resultType="com.xujie.sys.modules.pms.data.QcSamplingInspectionQtyRankData">
  683. SELECT
  684. site,
  685. bu_no,
  686. dbo.get_bu_desc(site, bu_no) as buDesc,
  687. sampling_qty_rank_no,
  688. sampling_qty_rank_desc,
  689. min_qty,
  690. max_qty,
  691. sampling_qty_rank_active,
  692. sampling_qty_rank_Remark,
  693. create_date,
  694. create_by,
  695. update_date,
  696. update_by
  697. FROM qc_sampling_inspection_qty_rank
  698. <where>
  699. site in (select site from eam_access_site where username = #{query.userName})
  700. and (site + '-' + bu_no) in (select * from dbo.query_bu(#{query.userName}))
  701. <if test="query.buDesc != null and query.buDesc != ''">
  702. AND dbo.get_bu_desc ( site, bu_no ) = #{query.buDesc}
  703. </if>
  704. <if test="query.samplingQtyRankNo != null and query.samplingQtyRankNo != ''">
  705. AND sampling_qty_rank_no LIKE '%' + #{query.samplingQtyRankNo}+'%'
  706. </if>
  707. <if test="query.samplingQtyRankDesc != null and query.samplingQtyRankDesc != ''">
  708. AND sampling_qty_rank_desc LIKE '%' + #{query.samplingQtyRankDesc}+'%'
  709. </if>
  710. <if test="query.samplingQtyRankActive != null and query.samplingQtyRankActive != ''">
  711. AND sampling_qty_rank_active = #{query.samplingQtyRankActive}
  712. </if>
  713. </where>
  714. </select>
  715. <!-- 根据名称查询批量级次 -->
  716. <select id="selectSamplingQtyRankByDesc" parameterType="QcSamplingInspectionQtyRankData" resultType="QcSamplingInspectionQtyRankData">
  717. SELECT
  718. site,
  719. bu_no,
  720. sampling_qty_rank_no,
  721. sampling_qty_rank_desc,
  722. min_qty,
  723. max_qty,
  724. sampling_qty_rank_active,
  725. sampling_qty_rank_Remark
  726. FROM qc_sampling_inspection_qty_rank
  727. WHERE sampling_qty_rank_desc = #{samplingQtyRankDesc} AND site = #{site} and bu_no = #{buNo}
  728. </select>
  729. <!-- 获取最大批量级次编码 -->
  730. <select id="queryLastSamplingQtyRankNo" resultType="string" parameterType="QcSamplingInspectionQtyRankData">
  731. SELECT top 1 sampling_qty_rank_no
  732. FROM qc_sampling_inspection_qty_rank
  733. where site = #{site} and bu_no = #{buNo}
  734. ORDER BY sampling_qty_rank_no Desc
  735. </select>
  736. <!-- 新增批量级次 -->
  737. <insert id="samplingQtyRankSave" parameterType="QcSamplingInspectionQtyRankData">
  738. 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)
  739. VALUES(#{site}, #{buNo}, #{samplingQtyRankNo}, #{samplingQtyRankDesc}, #{minQty,jdbcType=DECIMAL}, #{maxQty,jdbcType=DECIMAL}, #{samplingQtyRankRemark}, #{samplingQtyRankActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  740. </insert>
  741. <!-- 根据批量级次编码查询矩阵 -->
  742. <select id="selectSamplingPlanBySamplingQtyRankNo" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionQtyRankData">
  743. SELECT
  744. site,
  745. bu_no,
  746. sampling_plan_no,
  747. sampling_qty_no,
  748. sampling_qty_rank_no,
  749. sampling_level_no,
  750. sampling_plan_active
  751. FROM qc_sampling_inspection_plan
  752. WHERE site = #{site} AND sampling_qty_rank_no = #{samplingQtyRankNo} and bu_no = #{buNo}
  753. </select>
  754. <!-- 修改批量级次 -->
  755. <update id="samplingQtyRankUpdate" parameterType="QcSamplingInspectionQtyRankData">
  756. UPDATE qc_sampling_inspection_qty_rank
  757. SET sampling_qty_rank_desc = #{samplingQtyRankDesc},
  758. min_qty = #{minQty,jdbcType=DECIMAL},
  759. max_qty = #{maxQty,jdbcType=DECIMAL},
  760. sampling_qty_rank_Remark = #{samplingQtyRankRemark},
  761. sampling_qty_rank_active = #{samplingQtyRankActive},
  762. update_date = getDate(),
  763. update_by = #{updateBy}
  764. WHERE sampling_qty_rank_no = #{samplingQtyRankNo} AND site = #{site} and bu_no = #{buNo}
  765. </update>
  766. <!-- 删除批量级次 -->
  767. <delete id="samplingQtyRankDelete" parameterType="QcSamplingInspectionQtyRankData">
  768. DELETE FROM qc_sampling_inspection_qty_rank
  769. WHERE site = #{site} and bu_no = #{buNo}
  770. AND sampling_qty_rank_no = #{samplingQtyRankNo}
  771. AND sampling_qty_rank_desc = #{samplingQtyRankDesc}
  772. </delete>
  773. <!-- ================================================= 检验等级维护 ================================================= -->
  774. <!-- 查询检验等级 -->
  775. <select id="samplingLevelSearch" parameterType="QcSamplingInspectionLevelData" resultType="QcSamplingInspectionLevelData">
  776. SELECT
  777. site,
  778. bu_no,
  779. dbo.get_bu_desc(site, bu_no) as buDesc,
  780. sampling_level_no,
  781. sampling_level_desc,
  782. sampling_level_remark,
  783. sampling_level_active,
  784. create_date,
  785. create_by,
  786. update_date,
  787. update_by
  788. FROM qc_sampling_inspection_level
  789. <where>
  790. site in (select site from eam_access_site where username = #{query.userName})
  791. and (site + '-' + bu_no) in (select * from dbo.query_bu(#{query.userName}))
  792. <if test="query.buDesc != null and query.buDesc != ''">
  793. AND dbo.get_bu_desc ( site, bu_no ) = #{query.buDesc}
  794. </if>
  795. <if test="query.samplingLevelNo != null and query.samplingLevelNo != ''">
  796. AND sampling_level_no LIKE '%' + #{query.samplingLevelNo}+'%'
  797. </if>
  798. <if test="query.samplingLevelDesc != null and query.samplingLevelDesc != ''">
  799. AND sampling_level_desc LIKE '%' + #{query.samplingLevelDesc}+'%'
  800. </if>
  801. <if test="query.samplingLevelActive != null and query.samplingLevelActive != ''">
  802. AND sampling_level_active = #{query.samplingLevelActive}
  803. </if>
  804. </where>
  805. </select>
  806. <!-- 根据名称查询检验等级 -->
  807. <select id="selectSamplingLevelByDesc" parameterType="QcSamplingInspectionLevelData" resultType="QcSamplingInspectionLevelData">
  808. SELECT
  809. site,
  810. bu_no,
  811. sampling_level_no,
  812. sampling_level_desc,
  813. sampling_level_remark,
  814. sampling_level_active
  815. FROM qc_sampling_inspection_level
  816. WHERE sampling_level_desc = #{samplingLevelDesc} AND site = #{site} and bu_no = #{buNo}
  817. </select>
  818. <!-- 获取最大检验等级编码 -->
  819. <select id="queryLastSamplingLevelNo" resultType="string" parameterType="QcSamplingInspectionLevelData">
  820. SELECT top 1 sampling_level_no
  821. FROM qc_sampling_inspection_level
  822. where site = #{site} and bu_no = #{buNo}
  823. ORDER BY sampling_level_no Desc
  824. </select>
  825. <!-- 新增检验等级 -->
  826. <insert id="samplingLevelSave" parameterType="QcSamplingInspectionLevelData">
  827. 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)
  828. VALUES (#{site}, #{buNo}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingLevelRemark}, #{samplingLevelActive}, getDate(), #{createBy}, getDate(), #{updateBy})
  829. </insert>
  830. <!-- 根据检验等级编码查询矩阵 -->
  831. <select id="selectSamplingPlanBySamplingLevelNo" resultType="QcSamplingInspectionPlanData" parameterType="QcSamplingInspectionLevelData">
  832. SELECT
  833. site,
  834. bu_no,
  835. sampling_plan_no,
  836. sampling_qty_no,
  837. sampling_qty_rank_no,
  838. sampling_level_no,
  839. sampling_plan_active
  840. FROM qc_sampling_inspection_plan
  841. WHERE site = #{site} and bu_no = #{buNo}
  842. AND sampling_level_no = #{samplingLevelNo}
  843. </select>
  844. <!-- 修改检验等级 -->
  845. <update id="samplingLevelUpdate" parameterType="QcSamplingInspectionLevelData">
  846. UPDATE qc_sampling_inspection_level
  847. SET sampling_level_desc = #{samplingLevelDesc},
  848. sampling_level_remark = #{samplingLevelRemark},
  849. sampling_level_active = #{samplingLevelActive},
  850. update_date = getDate(),
  851. update_by = #{updateBy}
  852. WHERE sampling_level_no = #{samplingLevelNo}
  853. AND site = #{site} and bu_no = #{buNo}
  854. </update>
  855. <!-- 删除检验等级 -->
  856. <delete id="samplingLevelDelete" parameterType="QcSamplingInspectionLevelData">
  857. DELETE FROM qc_sampling_inspection_level
  858. WHERE site = #{site} and bu_no = #{buNo}
  859. AND sampling_level_no = #{samplingLevelNo}
  860. AND sampling_level_desc = #{samplingLevelDesc}
  861. </delete>
  862. <!-- ================================================= 物料属性设置维护 ================================================= -->
  863. <!-- 查询物料属性 -->
  864. <select id="qcPartAttributeSearch" parameterType="QcPartAttributeData" resultType="QcPartAttributeData">
  865. SELECT
  866. qa.site,
  867. qa.bu_no,
  868. dbo.get_bu_desc(qa.site, qa.bu_no) as buDesc,
  869. p.part_no as partNo,
  870. p.part_desc,
  871. dbo.qc_get_cinv_source_code(p.part_no) as cinvSourceCode,
  872. dbo.qc_get_sku(part_no) as sku,
  873. p.FamilyID,
  874. p.spec as FamilyName,
  875. p.umid,
  876. qa.supplier_no,
  877. dbo.qc_get_supplier_name(qa.site, qa.supplier_no) as supplierDesc,
  878. qa.attribute_remark,
  879. qa.create_time,
  880. qa.create_by,
  881. qa.attribute_type,
  882. qa.update_date,
  883. qa.update_by,
  884. qa.exempt_inspection
  885. FROM qc_part_attribute qa
  886. LEFT JOIN part p on qa.attribute_no = p.part_no and qa.site = p.site
  887. <where>
  888. qa.site in (select site from eam_access_site where username = #{query.userName})
  889. and (qa.site + '-' + qa.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  890. and qa.attribute_type = #{query.attributeType}
  891. <if test="query.buDesc != null and query.buDesc != ''">
  892. AND dbo.get_bu_desc ( qa.site, qa.bu_no ) = #{query.buDesc}
  893. </if>
  894. <if test = "query.partNo != null and query.partNo != ''">
  895. AND qa.attribute_no LIKE '%' + #{query.partNo}+'%'
  896. </if>
  897. <if test = "query.partDesc != null and query.partDesc != ''">
  898. AND p.part_desc LIKE '%' + #{query.partDesc}+'%'
  899. </if>
  900. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  901. AND dbo.qc_get_cinv_source_code(p.part_no) LIKE '%' + #{query.cinvSourceCode}+'%'
  902. </if>
  903. <if test = "query.sku != null and query.sku != ''">
  904. AND dbo.qc_get_sku(part_no) LIKE '%' + #{query.sku}+'%'
  905. </if>
  906. <if test = "query.familyName != null and query.familyName != ''">
  907. AND p.spec LIKE '%' + #{query.familyName}+'%'
  908. </if>
  909. </where>
  910. </select>
  911. <!-- 查询是否已有该物料属性 -->
  912. <select id="selectPartAttributeByNo" resultType="QcPartAttributeData" parameterType="QcPartAttributeData">
  913. SELECT
  914. attribute_no,
  915. supplier_no,
  916. attribute_remark,
  917. attribute_type
  918. FROM qc_part_attribute
  919. WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
  920. </select>
  921. <!-- 新增物料属性 -->
  922. <insert id="qcPartAttributeSave" parameterType="QcPartAttributeData">
  923. INSERT INTO qc_part_attribute (attribute_no, supplier_no, attribute_remark, create_time, create_by, attribute_type, site, exempt_inspection, bu_no)
  924. VALUES(#{partNo}, #{supplierNo}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType}, #{site}, #{exemptInspection}, #{buNo})
  925. </insert>
  926. <!-- 物料属性修改 -->
  927. <update id="qcPartAttributeEdit" parameterType="QcPartAttributeData">
  928. UPDATE qc_part_attribute
  929. SET attribute_remark = #{attributeRemark},
  930. exempt_inspection = #{exemptInspection},
  931. update_date = getDate(),
  932. update_by = #{updateBy}
  933. WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
  934. </update>
  935. <!-- 删除物料属性 -->
  936. <delete id="qcPartAttributeDelete" parameterType="QcPartAttributeData">
  937. DELETE FROM qc_part_attribute
  938. WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType}
  939. </delete>
  940. <!-- 删除物料属性模板 -->
  941. <delete id="deletePartAttributeTemplate" parameterType="QcPartAttributeData">
  942. DELETE FROM qc_attribute_template
  943. WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType}
  944. </delete>
  945. <!-- 查询类别模板 -->
  946. <select id="searchPartAttributeDetails" resultType="QcTemplateData" parameterType="QcTemplateData">
  947. SELECT
  948. qat.site,
  949. qat.bu_no,
  950. qpa.attribute_no,
  951. qpa.attribute_type,
  952. qt.template_id,
  953. qt.template_name,
  954. qt.template_remark,
  955. qt.template_version,
  956. qat.sampling_programme_no,
  957. qsip.sampling_programme_desc,
  958. qat.AQL,
  959. qat.AC,
  960. qat.RE,
  961. qt.inspection_type_no,
  962. qit.inspection_type_name,
  963. qt.default_sampling_quantity,
  964. qt.default_sampling_proportion,
  965. qat.sampling_level_no,
  966. qsil.sampling_level_desc,
  967. qat.inspection_cycle,
  968. qat.operation,
  969. qat.manufacturer_id,
  970. dbo.qc_get_supplier_name(qat.site, qat.manufacturer_id) as manufacturerName,
  971. qat.resource_id
  972. FROM qc_attribute_template as qat
  973. 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
  974. 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
  975. 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
  976. LEFT JOIN qc_inspection_type as qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  977. 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
  978. WHERE qat.site = #{site} and qpa.attribute_type = #{attributeType} and qpa.attribute_no = #{attributeNo} and qat.bu_no = #{buNo}
  979. </select>
  980. <!-- 物料属性模板查重 -->
  981. <select id="searchPartRepeat" resultType="QcTemplateData" parameterType="QcTemplateData">
  982. SELECT
  983. attribute_no,
  984. template_id
  985. FROM qc_attribute_template
  986. WHERE attribute_no = #{attributeNo}
  987. AND template_id = #{templateId}
  988. AND attribute_type = #{attributeType}
  989. AND special_field = #{specialField}
  990. </select>
  991. <!-- 新增物料属性模板 -->
  992. <insert id="savePartAttributeDetails" parameterType="QcTemplateData">
  993. INSERT INTO qc_attribute_template (attribute_no, template_id, sampling_level_no, inspection_cycle, sampling_programme_no, AQL, AC, RE, attribute_type, operation, manufacturer_id, resource_id, site, bu_no)
  994. VALUES (#{attributeNo}, #{templateId}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{samplingProgrammeNo}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{attributeType}, #{operation}, #{manufacturerID}, #{resourceID}, #{site}, #{buNo})
  995. </insert>
  996. <!-- 可选模板 -->
  997. <select id="getTemplateList" resultType="QcTemplateData" parameterType="QcTemplateData">
  998. SELECT
  999. qt.template_id,
  1000. qt.template_name,
  1001. qit.inspection_type_name
  1002. FROM qc_template as qt
  1003. LEFT JOIN qc_attribute_template as qat ON qat.template_id = qt.template_id and qat.attribute_no = #{attributeNo}
  1004. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no
  1005. <where>
  1006. qt.site = #{site}
  1007. AND qat.attribute_no is null
  1008. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  1009. AND qt.inspection_type_no = #{inspectionTypeNo}
  1010. </if>
  1011. <if test = "templateId != null and templateId != ''">
  1012. AND qt.template_id LIKE '%' + #{templateId}+'%'
  1013. </if>
  1014. <if test = "templateName != null and templateName != ''">
  1015. AND qt.template_name LIKE '%' + #{templateName}+'%'
  1016. </if>
  1017. </where>
  1018. </select>
  1019. <!-- 已有模板 -->
  1020. <select id="getPartTemplateList" resultType="QcTemplateData" parameterType="QcTemplateData">
  1021. SELECT
  1022. qt.template_id,
  1023. qt.template_name,
  1024. qit.inspection_type_name,
  1025. qat.operation,
  1026. qat.manufacturer_id,
  1027. dbo.qc_get_supplier_name(qt.site, qat.manufacturer_id) as manufacturerName,
  1028. qat.resource_id
  1029. FROM qc_attribute_template as qat
  1030. 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
  1031. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  1032. WHERE qt.site = #{site} AND qat.attribute_no = #{attributeNo} and qt.bu_no = #{buNo}
  1033. </select>
  1034. <!-- 物料可选模板 -->
  1035. <select id="getTemplateListAll" resultType="QcTemplateData" parameterType="QcTemplateData">
  1036. SELECT
  1037. qt.template_id,
  1038. qt.template_name,
  1039. qit.inspection_type_name
  1040. FROM qc_template as qt
  1041. LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
  1042. <where>
  1043. qt.site = #{site} and qt.bu_no = #{buNo}
  1044. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  1045. AND qt.inspection_type_no = #{inspectionTypeNo}
  1046. </if>
  1047. <if test = "templateId != null and templateId != ''">
  1048. AND qt.template_id LIKE '%' + #{templateId}+'%'
  1049. </if>
  1050. <if test = "templateName != null and templateName != ''">
  1051. AND qt.template_name LIKE '%' + #{templateName}+'%'
  1052. </if>
  1053. </where>
  1054. </select>
  1055. <!-- 删除物料属性模板 -->
  1056. <delete id="deletePartAttributeDetails" parameterType="QcTemplateData">
  1057. DELETE FROM qc_attribute_template
  1058. <where>
  1059. site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and template_id = #{templateId} and attribute_type = #{attributeType}
  1060. <if test = "operation != null and operation != ''">
  1061. and operation = #{operation}
  1062. </if>
  1063. <if test = "resourceID != null and resourceID != ''">
  1064. and resource_id = #{resourceID}
  1065. </if>
  1066. <if test = "manufacturerID != null and manufacturerID != ''">
  1067. and manufacturer_id = #{manufacturerID}
  1068. </if>
  1069. </where>
  1070. </delete>
  1071. <!-- 查询模板的基础数据 -->
  1072. <select id="selectTemplateData" resultType="QcTemplateData" parameterType="QcTemplateData">
  1073. SELECT
  1074. template_id,
  1075. template_name,
  1076. sampling_programme_no,
  1077. sampling_level_no,
  1078. inspection_cycle,
  1079. AQL,
  1080. AC,
  1081. RE
  1082. FROM qc_template
  1083. WHERE site = #{site} AND template_id = #{templateId} and bu_no = #{buNo}
  1084. </select>
  1085. <!-- 新增物料属性模板详情 -->
  1086. <update id="saveAttributeDetailed" parameterType="QcTemplateData">
  1087. UPDATE qc_attribute_template
  1088. SET sampling_level_no = #{samplingLevelNo},
  1089. inspection_cycle = #{inspectionCycle,jdbcType=DECIMAL},
  1090. sampling_programme_no = #{samplingProgrammeNo},
  1091. AQL = #{aql,jdbcType=DECIMAL},
  1092. AC = #{ac,jdbcType=DECIMAL},
  1093. RE = #{re,jdbcType=DECIMAL}
  1094. <where>
  1095. site = #{site} and attribute_no = #{attributeNo} AND template_id = #{templateId} AND attribute_type = #{attributeType} and bu_no = #{buNo}
  1096. <if test = "operation != null and operation != ''">
  1097. AND operation = #{operation}
  1098. </if>
  1099. <if test = "resourceID != null and resourceID != ''">
  1100. AND resource_id = #{resourceID}
  1101. </if>
  1102. <if test = "manufacturerID != null and manufacturerID != ''">
  1103. AND manufacturer_id = #{manufacturerID}
  1104. </if>
  1105. </where>
  1106. </update>
  1107. <!-- 更新物料属性修改时间 -->
  1108. <update id="updatePartAttributeTime" parameterType="QcTemplateData">
  1109. UPDATE qc_part_attribute
  1110. SET update_date = getDate(),
  1111. update_by = #{updateBy}
  1112. WHERE site = #{site} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1113. </update>
  1114. <!-- ================================================= 类别属性设置维护 ================================================= -->
  1115. <!-- 查询类别属性 -->
  1116. <select id="qcFamilyAttributeSearch" parameterType="QcPartAttributeData" resultType="QcPartAttributeData">
  1117. SELECT
  1118. qa.site,
  1119. qa.bu_no,
  1120. dbo.get_bu_desc(qa.site, qa.bu_no) as buDesc,
  1121. qa.attribute_no as familyID,
  1122. pf.FamilyName,
  1123. qa.supplier_no,
  1124. qa.attribute_remark,
  1125. qa.create_time,
  1126. qa.create_by,
  1127. qa.update_date,
  1128. qa.update_by,
  1129. qa.attribute_type
  1130. FROM qc_part_attribute as qa
  1131. LEFT JOIN PartFamily as pf on qa.attribute_no = pf.FamilyID and qa.site = pf.site
  1132. <where>
  1133. qa.site in (select site from eam_access_site where username = #{query.userName})
  1134. and (qa.site + '-' + qa.bu_no) in (select * from dbo.query_bu(#{query.userName}))
  1135. and qa.attribute_type = #{query.attributeType}
  1136. <if test="query.buDesc != null and query.buDesc != ''">
  1137. AND dbo.get_bu_desc ( qa.site, qa.bu_no ) = #{query.buDesc}
  1138. </if>
  1139. <if test = "query.familyID != null and query.familyID != ''">
  1140. AND qa.attribute_no LIKE '%' + #{query.familyID}+'%'
  1141. </if>
  1142. <if test = "query.familyName != null and query.familyName != ''">
  1143. AND pf.FamilyName LIKE '%' + #{query.familyName}+'%'
  1144. </if>
  1145. </where>
  1146. </select>
  1147. <!-- 新增类别属性 -->
  1148. <insert id="qcFamilyAttributeSave" parameterType="QcPartAttributeData">
  1149. INSERT INTO qc_part_attribute (attribute_no, attribute_remark, create_time, create_by, attribute_type, site, bu_no)
  1150. VALUES(#{familyID}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType}, #{site}, #{buNo})
  1151. </insert>
  1152. <!-- 删除分类属性 -->
  1153. <delete id="qcFamilyAttributeDelete" parameterType="QcPartAttributeData">
  1154. DELETE FROM qc_part_attribute
  1155. WHERE site = #{site} and attribute_no = #{familyID} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1156. </delete>
  1157. <!-- 删除分类属性模板 -->
  1158. <delete id="deleteFamilyAttributeTemplate" parameterType="QcPartAttributeData">
  1159. DELETE FROM qc_attribute_template
  1160. WHERE site = #{site} and attribute_no = #{familyID} and attribute_type = #{attributeType} and bu_no = #{buNo}
  1161. </delete>
  1162. <!-- ================================================= 抽样方案维护 ================================================= -->
  1163. <!-- 查询类别属性 -->
  1164. <select id="samplingProgrammeSearch" parameterType="QcSamplingInspectionProgrammeData" resultType="QcSamplingInspectionProgrammeData">
  1165. SELECT
  1166. site,
  1167. bu_no,
  1168. dbo.get_bu_desc(site, bu_no) as buDesc,
  1169. sampling_programme_no,
  1170. sampling_programme_desc,
  1171. sampling_programme_code,
  1172. create_time,
  1173. create_by,
  1174. update_date,
  1175. update_by
  1176. FROM qc_sampling_inspection_programme
  1177. <where>
  1178. site in (select site from eam_access_site where username = #{query.userName})
  1179. and (site + '-' + bu_no) in (select * from dbo.query_bu(#{query.userName}))
  1180. <if test="query.buDesc != null and query.buDesc != ''">
  1181. AND dbo.get_bu_desc ( site, bu_no ) = #{query.buDesc}
  1182. </if>
  1183. <if test = "query.samplingProgrammeNo != null and query.samplingProgrammeNo != ''">
  1184. AND sampling_programme_no LIKE '%' + #{query.samplingProgrammeNo}+'%'
  1185. </if>
  1186. <if test = "query.samplingProgrammeCode != null and query.samplingProgrammeCode != ''">
  1187. AND sampling_programme_code LIKE '%' + #{query.samplingProgrammeCode}+'%'
  1188. </if>
  1189. <if test = "query.samplingProgrammeDesc != null and query.samplingProgrammeDesc != ''">
  1190. AND sampling_programme_desc LIKE '%' + #{query.samplingProgrammeDesc}+'%'
  1191. </if>
  1192. </where>
  1193. </select>
  1194. <!-- 新增抽样方案 -->
  1195. <insert id="samplingProgrammeSave" parameterType="QcSamplingInspectionProgrammeData">
  1196. 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)
  1197. VALUES(#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{samplingProgrammeCode}, getDate(), #{createBy}, getDate(), #{updateBy})
  1198. </insert>
  1199. <!-- 删除抽样方案 -->
  1200. <delete id="samplingProgrammeDelete" parameterType="QcSamplingInspectionProgrammeData">
  1201. DELETE FROM qc_sampling_inspection_programme
  1202. WHERE site = #{site} and bu_no = #{buNo}
  1203. AND sampling_programme_no = #{samplingProgrammeNo}
  1204. </delete>
  1205. <!-- 删除抽样方案中的矩阵 -->
  1206. <delete id="deletePlanByProgrammeNo" parameterType="QcSamplingInspectionProgrammeData">
  1207. DELETE FROM qc_programme_plan
  1208. WHERE sampling_programme_no = #{samplingProgrammeNo} and site = #{site} and bu_no = #{buNo}
  1209. </delete>
  1210. <!-- 根据名称查询抽样方案 -->
  1211. <select id="selectSamplingProgrammeByDesc" parameterType="QcSamplingInspectionProgrammeData" resultType="QcSamplingInspectionProgrammeData">
  1212. SELECT
  1213. site,
  1214. bu_no,
  1215. sampling_programme_no,
  1216. sampling_programme_desc
  1217. FROM qc_sampling_inspection_programme
  1218. WHERE sampling_programme_desc = #{samplingProgrammeDesc} AND site = #{site} and bu_no = #{buNo}
  1219. </select>
  1220. <!-- 获取最大抽样方案编码 -->
  1221. <select id="queryLastSamplingProgrammeNo" resultType="string" parameterType="QcSamplingInspectionProgrammeData">
  1222. SELECT top 1 sampling_programme_no
  1223. FROM qc_sampling_inspection_programme
  1224. where site = #{site} and bu_no = #{buNo}
  1225. ORDER BY sampling_programme_no Desc
  1226. </select>
  1227. <!-- 搜索抽样方案中的矩阵 -->
  1228. <select id="searchSamplingProgrammeDetails" parameterType="QcSamplingInspectionProgrammeData" resultType="QcSamplingInspectionProgrammeData">
  1229. SELECT
  1230. qpp.site,
  1231. qpp.bu_no,
  1232. qpp.sampling_programme_no,
  1233. qsip.sampling_plan_no,
  1234. qsip.sampling_plan_Desc,
  1235. qsip.sampling_qty_no,
  1236. qsiq.sampling_qty_desc,
  1237. qsiq.sampling_qty,
  1238. qsip.sampling_qty_rank_no,
  1239. qsiqr.sampling_qty_rank_desc,
  1240. qsiqr.min_qty,
  1241. qsiqr.max_qty,
  1242. qsip.sampling_level_no,
  1243. qsil.sampling_level_desc,
  1244. qsip.sampling_plan_active
  1245. FROM qc_programme_plan as qpp
  1246. 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
  1247. 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
  1248. 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
  1249. 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
  1250. WHERE qpp.sampling_programme_no = #{samplingProgrammeNo} and qpp.site = #{site} and qpp.bu_no = #{buNo}
  1251. </select>
  1252. <!-- 获取该方案不包含的矩阵 -->
  1253. <select id="getPlanList" resultType="QcSamplingInspectionProgrammeData" parameterType="QcSamplingInspectionProgrammeData">
  1254. SELECT
  1255. qip.sampling_plan_no,
  1256. qip.sampling_plan_desc
  1257. FROM qc_sampling_inspection_plan as qip
  1258. 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
  1259. WHERE qip.site = #{site} and qip.bu_no = #{buNo} AND qpp.sampling_programme_no is null
  1260. </select>
  1261. <!-- 获取当前方案所包含的矩阵 -->
  1262. <select id="getProgrammePlanList" resultType="QcSamplingInspectionProgrammeData" parameterType="QcSamplingInspectionProgrammeData">
  1263. SELECT
  1264. qip.sampling_plan_no,
  1265. qip.sampling_plan_desc
  1266. FROM qc_programme_plan as qpp
  1267. 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
  1268. WHERE qip.site = #{site} and qip.bu_no = #{buNo} AND qpp.sampling_programme_no = #{samplingProgrammeNo}
  1269. </select>
  1270. <!-- 查重 -->
  1271. <select id="searchPlanRepeat" resultType="QcSamplingInspectionProgrammeData" parameterType="QcSamplingInspectionProgrammeData">
  1272. SELECT
  1273. sampling_plan_no,
  1274. sampling_programme_no
  1275. FROM qc_programme_plan
  1276. WHERE sampling_programme_no = #{samplingProgrammeNo} AND sampling_plan_no = #{samplingPlanNo} and site = #{site} and bu_no = #{buNo}
  1277. </select>
  1278. <!-- 新增抽样方案中的矩阵 -->
  1279. <insert id="saveSamplingProgrammeDetails" parameterType="QcSamplingInspectionProgrammeData">
  1280. INSERT INTO qc_programme_plan (site, bu_no, sampling_programme_no, sampling_plan_no)
  1281. VALUES (#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingPlanNo})
  1282. </insert>
  1283. <!-- 更新抽样方案修改时间 -->
  1284. <update id="updateSamplingInspectionProgrammeDate" parameterType="QcSamplingInspectionProgrammeData">
  1285. UPDATE qc_sampling_inspection_programme
  1286. SET update_date = getDate(),
  1287. update_by = #{updateBy}
  1288. WHERE site = #{site} AND sampling_programme_no = #{samplingProgrammeNo} and bu_no = #{buNo}
  1289. </update>
  1290. <!-- 删除抽样方案中的矩阵 -->
  1291. <delete id="deleteSamplingProgrammeDetails" parameterType="QcSamplingInspectionProgrammeData">
  1292. DELETE FROM qc_programme_plan
  1293. WHERE sampling_programme_no = #{samplingProgrammeNo} and sampling_plan_no = #{samplingPlanNo} and site = #{site} and bu_no = #{buNo}
  1294. </delete>
  1295. <!-- ================================================= FAI检验维护 ================================================= -->
  1296. <!-- 查询FAI基础数据 -->
  1297. <select id="selectFAIBasicData" resultType="QcFAIRecordData">
  1298. SELECT
  1299. top 1
  1300. a.orderno as orderNo,
  1301. j.part_no,
  1302. j.part_desc,
  1303. c.operation_desc,
  1304. b.approve_qty as rollQty,
  1305. a.s_resourceid as resourceId,
  1306. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  1307. a.itemno as itemNo,
  1308. a.id as ssrId
  1309. FROM soscheduledrouting as a
  1310. LEFT JOIN sfdc as b
  1311. ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
  1312. select min(sfdc.id)
  1313. from sfdc
  1314. group by sfdc.assjob_seq_no, site
  1315. )
  1316. LEFT JOIN so_routing as c
  1317. ON c.order_no = a.orderno and a.itemno = c.item_no and c.site = a.site
  1318. LEFT JOIN part j
  1319. ON a.site = j.site and a.part_no = j.part_no
  1320. WHERE a.itemno = '10'
  1321. AND a.id not in (select ssr_id from qc_fai_record)
  1322. AND b.approve_qty is not null
  1323. ORDER BY a.id desc
  1324. </select>
  1325. <!-- 获取该物料属性下维护的iqc -->
  1326. <select id="selectPartAttributeByPartNo" resultType="QcFAIRecordData">
  1327. SELECT
  1328. qat.site,
  1329. qat.bu_no,
  1330. qat.attribute_no,
  1331. qat.template_id,
  1332. qat.sampling_level_no,
  1333. qsil.sampling_level_desc,
  1334. qat.inspection_cycle,
  1335. qat.sampling_programme_no,
  1336. qsip.sampling_programme_desc,
  1337. qat.AQL,
  1338. qat.AC,
  1339. qat.RE,
  1340. qt.default_sampling_quantity,
  1341. qt.default_sampling_proportion
  1342. FROM qc_attribute_template as qat
  1343. 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
  1344. 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
  1345. 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
  1346. WHERE qat.site = #{site} and qat.bu_no = #{buNo}
  1347. AND qat.attribute_no = #{partNo}
  1348. AND qat.attribute_type = #{attributeType}
  1349. AND qt.inspection_type_no = #{inspectionTypeNo}
  1350. AND qat.manufacturer_id = #{supplierNo}
  1351. </select>
  1352. <!-- 获取该物料属性下维护的ipqc -->
  1353. <select id="selectPartAttributeByOperationAndResource" resultType="QcFAIRecordData">
  1354. SELECT
  1355. qat.site,
  1356. qat.bu_no,
  1357. qat.attribute_no,
  1358. qat.template_id,
  1359. qat.sampling_level_no,
  1360. qsil.sampling_level_desc,
  1361. qat.inspection_cycle,
  1362. qat.sampling_programme_no,
  1363. qsip.sampling_programme_desc,
  1364. qat.AQL,
  1365. qat.AC,
  1366. qat.RE,
  1367. qt.default_sampling_quantity,
  1368. qt.default_sampling_proportion
  1369. FROM qc_attribute_template as qat
  1370. 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
  1371. 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
  1372. 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
  1373. WHERE qat.site = #{site} and qat.bu_no = #{buNo}
  1374. AND qat.attribute_no = #{partNo}
  1375. AND qat.attribute_type = #{attributeType1}
  1376. AND qt.inspection_type_no = #{inspectionTypeNo}
  1377. AND qat.operation = #{operationDesc}
  1378. AND qat.resource_id = #{resourceId}
  1379. </select>
  1380. <!-- 获取模板详情 -->
  1381. <select id="selectTemplate" resultType="QcFAIRecordData" parameterType="QcFAIRecordData">
  1382. SELECT
  1383. qt.site,
  1384. qt.bu_no,
  1385. qt.template_id,
  1386. qt.sampling_level_no,
  1387. qsil.sampling_level_desc,
  1388. qt.inspection_cycle,
  1389. qt.sampling_programme_no,
  1390. qsip.sampling_programme_desc,
  1391. qt.AQL,
  1392. qt.AC,
  1393. qt.RE,
  1394. qt.default_sampling_quantity,
  1395. qt.default_sampling_proportion
  1396. FROM qc_template as qt
  1397. 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
  1398. 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
  1399. WHERE qt.site = #{site} and qt.template_id = #{templateId} and qt.bu_no = #{buNo}
  1400. </select>
  1401. <!-- 新增FAI主记录信息 -->
  1402. <insert id="saveFAIRecord" parameterType="QcFAIRecordData">
  1403. 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)
  1404. 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})
  1405. </insert>
  1406. <!-- 新增FAI明细记录信息 -->
  1407. <insert id="saveFAIDetailedRecord" parameterType="QcFAIRecordData">
  1408. INSERT INTO qc_fai_detailed_record (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value, max_value, value_type_db, value_type, site, sampling_qty, bu_no)
  1409. VALUES(#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo})
  1410. </insert>
  1411. <!-- 查询FAI主记录信息 -->
  1412. <select id="qcFAIInspectionSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1413. SELECT
  1414. inspection_no,
  1415. site,
  1416. bu_no,
  1417. dbo.get_bu_desc(site, bu_no) as buDesc,
  1418. state,
  1419. inspection_result,
  1420. task_date,
  1421. inspection_type_no,
  1422. dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName,
  1423. inspection_cycle,
  1424. order_no,
  1425. operation_desc,
  1426. resource_id,
  1427. dbo.qc_get_resource_desc(site, resource_id, work_center_no) as resourceDesc,
  1428. part_no,
  1429. dbo.qc_get_part_desc(part_no) as part_desc,
  1430. inspection_remark,
  1431. roll_qty,
  1432. sampling_qty,
  1433. disposal_measures,
  1434. disposal_remark,
  1435. inspector_date,
  1436. inspector_no,
  1437. dbo.qc_get_inspector_name(site, inspector_no) as inspectorName,
  1438. ssr_id,
  1439. unqualified_qty,
  1440. submit_flag,
  1441. dbo.qc_get_cinv_source_code(part_no) as cinvSourceCode,
  1442. dbo.qc_get_sku(part_no) as sku,
  1443. dbo.qc_get_spec(part_no) as spec,
  1444. seq_no,
  1445. batch_roll_no,
  1446. special_requirements,
  1447. work_center_no,
  1448. roll_no,
  1449. um_id,
  1450. dbo.qc_get_um_name(site, um_id) as umName
  1451. FROM qc_fai_record
  1452. <where>
  1453. site in (select site from eam_access_site where username = #{query.userName})
  1454. and (site + '-' + 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.inspectionNo != null and query.inspectionNo != ''">
  1459. AND inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1460. </if>
  1461. <if test = "query.partNo != null and query.partNo != ''">
  1462. AND part_no LIKE '%' + #{query.partNo} + '%'
  1463. </if>
  1464. <if test = "query.partDesc != null and query.partDesc != ''">
  1465. AND dbo.qc_get_part_desc(part_no) LIKE '%' + #{query.partDesc} + '%'
  1466. </if>
  1467. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1468. AND dbo.qc_get_cinv_source_code(part_no) LIKE '%' + #{query.cinvSourceCode} + '%'
  1469. </if>
  1470. <if test = "query.sku != null and query.sku != ''">
  1471. AND dbo.qc_get_sku(part_no) LIKE '%' + #{query.sku} + '%'
  1472. </if>
  1473. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1474. AND disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  1475. </if>
  1476. <if test = "query.state != null and query.state != ''">
  1477. AND state = #{query.state}
  1478. </if>
  1479. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1480. AND inspection_result = #{query.inspectionResult}
  1481. </if>
  1482. <if test = "query.orderNo != null and query.orderNo != ''">
  1483. AND order_no LIKE '%' + #{query.orderNo} + '%'
  1484. </if>
  1485. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1486. AND operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1487. </if>
  1488. <if test="query.startDate != null">
  1489. AND inspector_date >= #{query.startDate}
  1490. </if>
  1491. <if test="query.endDate != null">
  1492. AND #{query.endDate} >= inspector_date
  1493. </if>
  1494. <if test="query.startDate2 != null">
  1495. AND task_date >= #{query.startDate2}
  1496. </if>
  1497. <if test="query.endDate2 != null">
  1498. AND #{query.endDate2} >= task_date
  1499. </if>
  1500. </where>
  1501. ORDER BY
  1502. CASE WHEN state = '待检验' THEN 1
  1503. WHEN state = '待审核' THEN 2
  1504. WHEN state = '已完成' THEN 3
  1505. END, task_date desc
  1506. </select>
  1507. <!-- 获取物料的类别编码 -->
  1508. <select id="selectFamilyIdByPartNo" parameterType="string" resultType="string">
  1509. SELECT FamilyID
  1510. FROM part
  1511. WHERE part_no = #{partNo} AND site = #{site}
  1512. </select>
  1513. <!-- FAI明细记录查询 -->
  1514. <select id="faiDetailSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1515. SELECT
  1516. a.site,
  1517. a.bu_no,
  1518. a.inspection_no,
  1519. a.order_no,
  1520. a.template_id,
  1521. a.sampling_level_no,
  1522. a.sampling_level_desc,
  1523. a.sampling_programme_no,
  1524. a.sampling_programme_desc,
  1525. a.AQL,
  1526. a.AC,
  1527. a.RE,
  1528. a.item_no,
  1529. a.item_desc,
  1530. a.object_id,
  1531. a.object_desc,
  1532. a.default_value,
  1533. a.min_value,
  1534. a.max_value,
  1535. a.text_value,
  1536. a.number_value,
  1537. a.value_type_db,
  1538. a.value_type,
  1539. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  1540. a.is_submit,
  1541. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  1542. a.sampling_qty,
  1543. dbo.qc_get_fai_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  1544. c.method_no,
  1545. c.method_name,
  1546. c.method_remark
  1547. FROM qc_fai_detailed_record as a
  1548. 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
  1549. 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
  1550. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  1551. </select>
  1552. <!-- 修改FAI主记录信息 -->
  1553. <update id="updateFAIMasterRecord" parameterType="QcFAIRecordData">
  1554. UPDATE qc_fai_record
  1555. SET disposal_measures = #{disposalMeasures},
  1556. disposal_remark = #{disposalRemark},
  1557. inspection_result = #{inspectionResult},
  1558. inspector_no = #{inspectorNo},
  1559. state = #{state},
  1560. inspection_remark = #{inspectionRemark},
  1561. inspector_date = getDate(),
  1562. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  1563. roll_qty = #{rollQty,jdbcType=DECIMAL},
  1564. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL}
  1565. WHERE site = #{site} AND inspection_no = #{inspectionNo} and bu_no = #{buNo}
  1566. </update>
  1567. <!-- 修改FAI明细记录信息 -->
  1568. <update id="updateFAIDetailedRecord" parameterType="QcFAIRecordData">
  1569. UPDATE qc_fai_detailed_record
  1570. SET item_result = #{itemResult},
  1571. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  1572. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  1573. text_value = #{textValue},
  1574. number_value = #{numberValue,jdbcType=DECIMAL}
  1575. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  1576. </update>
  1577. <!-- 修改子明细提交标识 -->
  1578. <update id="updateSubDetailedRecord" parameterType="QcFAIRecordData">
  1579. UPDATE qc_fai_sub_detail_record
  1580. SET is_submit = 'Y'
  1581. WHERE inspection_no = #{inspectionNo}
  1582. </update>
  1583. <!-- 删除FAI检验记录 -->
  1584. <delete id="deleteFAIRecord" parameterType="QcFAIRecordData">
  1585. DELETE FROM qc_fai_record
  1586. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1587. </delete>
  1588. <!-- 删除FAI明细记录信息 -->
  1589. <delete id="deleteFAIDetailedRecord" parameterType="QcFAIRecordData">
  1590. DELETE FROM qc_fai_detailed_record
  1591. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1592. </delete>
  1593. <!-- 删除FAI子明细记录信息 -->
  1594. <delete id="deleteFAISubDetailedRecord" parameterType="QcFAIRecordData">
  1595. DELETE FROM qc_fai_sub_detail_record
  1596. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1597. </delete>
  1598. <!-- 修改FAI主记录标识为已提交 -->
  1599. <update id="updateFAIMasterSubmitFlag" parameterType="QcFAIRecordData">
  1600. UPDATE qc_fai_record
  1601. SET submit_flag = 'Y',
  1602. state = '已完成'
  1603. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1604. </update>
  1605. <!-- 修改FAI明细记录标识为已提交 -->
  1606. <update id="updateFAIDetailSubmitFlag" parameterType="QcFAIRecordData">
  1607. UPDATE qc_fai_detailed_record
  1608. SET is_submit = 'Y'
  1609. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1610. </update>
  1611. <!-- 修改子明细记录标识为已提交 -->
  1612. <update id="updateFAISubDetailSubmitFlag" parameterType="QcFAIRecordData">
  1613. UPDATE qc_fai_sub_detail_record
  1614. SET is_submit = 'Y'
  1615. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1616. </update>
  1617. <!-- 查询FAI检验记录是否已提交 -->
  1618. <select id="checkFAIIsSubmit" parameterType="SubDetailValues" resultType="QcFAIRecordData">
  1619. SELECT submit_flag
  1620. FROM qc_fai_record
  1621. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1622. </select>
  1623. <!-- 删除子明细的老数据 -->
  1624. <delete id="delFAISubDetailedRecord" parameterType="QcSubDetailInformationData">
  1625. DELETE FROM qc_fai_sub_detail_record
  1626. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  1627. </delete>
  1628. <!-- 新增FAI子明细信息 -->
  1629. <insert id="saveFAISubDetailed">
  1630. INSERT INTO qc_fai_sub_detail_record
  1631. (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no)
  1632. VALUES
  1633. <foreach collection="list" item="item" separator=",">
  1634. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo})
  1635. </foreach>
  1636. </insert>
  1637. <!-- 查询FAI的子明细 -->
  1638. <select id="selectFAISubDetailedRecord" parameterType="SubDetailValues" resultType="SubDetailValues">
  1639. SELECT
  1640. site,
  1641. bu_no,
  1642. sub_detail_value,
  1643. sampling_location,
  1644. is_submit,
  1645. sampling_location_b
  1646. FROM qc_fai_sub_detail_record
  1647. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  1648. </select>
  1649. <!-- 获取该项目的子明细值 -->
  1650. <select id="selectFAISubDetailValue" parameterType="string" resultType="SubDetailValues">
  1651. SELECT sub_detail_value,
  1652. sampling_location,
  1653. is_submit
  1654. FROM qc_fai_sub_detail_record
  1655. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  1656. </select>
  1657. <!-- ================================================= IPQC检验维护 ================================================= -->
  1658. <!-- 查询IPQC基础数据 -->
  1659. <select id="selectIPQCBasicData" resultType="QcFAIRecordData">
  1660. SELECT
  1661. top 1
  1662. a.orderno as orderNo,
  1663. j.part_no,
  1664. j.part_desc,
  1665. c.operation_desc,
  1666. b.approve_qty as rollQty,
  1667. a.s_resourceid as resourceId,
  1668. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  1669. a.itemno as itemNo,
  1670. a.id as ssrId
  1671. FROM soscheduledrouting as a
  1672. LEFT JOIN sfdc as b
  1673. ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
  1674. select max(sfdc.id)
  1675. from sfdc
  1676. group by sfdc.assjob_seq_no, site
  1677. )
  1678. LEFT JOIN so_routing as c
  1679. ON c.order_no = a.orderno and a.itemno = c.item_no and c.site = a.site
  1680. LEFT JOIN part j
  1681. ON a.site = j.site and a.part_no = j.part_no
  1682. LEFT JOIN (select ssr_id from qc_ipqc_record where check_type = '末件检') as temp
  1683. ON a.id = temp.ssr_id
  1684. WHERE b.approve_qty is not null and temp.ssr_id is null
  1685. ORDER BY a.id desc
  1686. </select>
  1687. <select id="qcExec" resultType="QcFAIRecordData" parameterType="string" statementType="CALLABLE">
  1688. {CALL
  1689. getIpqcRecord(#{site,mode=IN,jdbcType=VARCHAR})
  1690. }
  1691. </select>
  1692. <!-- 新增IPQC明细记录信息 -->
  1693. <insert id="saveIPQCDetailedRecord" parameterType="QcFAIRecordData">
  1694. INSERT INTO qc_ipqc_detailed_record (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value, max_value, value_type_db, value_type, site, sampling_qty, bu_no)
  1695. VALUES(#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo})
  1696. </insert>
  1697. <!-- 新增IPQC记录到count表 -->
  1698. <insert id="saveIPQCRecordCount" parameterType="QcFAIRecordData">
  1699. INSERT INTO qc_ipqc_record_count (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, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id, new_data)
  1700. VALUES(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId}, 'Y')
  1701. </insert>
  1702. <!-- 新增IPQC主记录信息 -->
  1703. <insert id="saveIPQCRecord" parameterType="QcFAIRecordData">
  1704. INSERT INTO qc_ipqc_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)
  1705. 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})
  1706. </insert>
  1707. <!-- 查询IPQC主记录信息 -->
  1708. <select id="qcIPQCInspectionSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1709. SELECT
  1710. inspection_no,
  1711. site,
  1712. bu_no,
  1713. dbo.get_bu_desc(site, bu_no) as buDesc,
  1714. state,
  1715. inspection_result,
  1716. task_date,
  1717. inspection_type_no,
  1718. inspection_cycle,
  1719. order_no,
  1720. operation_desc,
  1721. resource_id,
  1722. dbo.qc_get_resource_desc(site, resource_id, work_center_no) as resourceDesc,
  1723. part_no,
  1724. dbo.qc_get_part_desc(part_no) as part_desc,
  1725. dbo.qc_get_cinv_source_code(part_no) as cinvSourceCode,
  1726. inspection_remark,
  1727. roll_qty,
  1728. sampling_qty,
  1729. disposal_measures,
  1730. disposal_remark,
  1731. inspector_date,
  1732. inspector_no,
  1733. dbo.qc_get_inspector_name(site, inspector_no) as inspectorName,
  1734. ssr_id,
  1735. unqualified_qty,
  1736. submit_flag,
  1737. dbo.qc_get_sku(part_no) as sku,
  1738. dbo.qc_get_spec(part_no) as spec,
  1739. seq_no,
  1740. batch_roll_no,
  1741. special_requirements,
  1742. work_center_no,
  1743. roll_no,
  1744. um_id,
  1745. dbo.qc_get_um_name(site, um_id) as umName
  1746. FROM qc_ipqc_record
  1747. <where>
  1748. site in (select site from eam_access_site where username = #{query.userName})
  1749. and (site + '-' + bu_no) in (select * from dbo.query_bu(#{query.userName}))
  1750. <if test="query.buDesc != null and query.buDesc != ''">
  1751. AND dbo.get_bu_desc ( site, bu_no ) = #{query.buDesc}
  1752. </if>
  1753. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  1754. AND inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  1755. </if>
  1756. <if test = "query.partNo != null and query.partNo != ''">
  1757. AND part_no LIKE '%' + #{query.partNo} + '%'
  1758. </if>
  1759. <if test = "query.partDesc != null and query.partDesc != ''">
  1760. AND dbo.qc_get_part_desc(part_no) LIKE '%' + #{query.partDesc} + '%'
  1761. </if>
  1762. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  1763. AND dbo.qc_get_cinv_source_code(part_no) LIKE '%' + #{query.cinvSourceCode} + '%'
  1764. </if>
  1765. <if test = "query.sku != null and query.sku != ''">
  1766. AND dbo.qc_get_sku(part_no) LIKE '%' + #{query.sku} + '%'
  1767. </if>
  1768. <if test = "query.state != null and query.state != ''">
  1769. AND state = #{query.state}
  1770. </if>
  1771. <if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
  1772. AND inspection_type_no = #{query.inspectionTypeNo}
  1773. </if>
  1774. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  1775. AND inspection_result = #{query.inspectionResult}
  1776. </if>
  1777. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  1778. AND disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  1779. </if>
  1780. <if test = "query.orderNo != null and query.orderNo != ''">
  1781. AND order_no LIKE '%' + #{query.orderNo} + '%'
  1782. </if>
  1783. <if test = "query.operationDesc != null and query.operationDesc != ''">
  1784. AND operation_desc LIKE '%' + #{query.operationDesc} + '%'
  1785. </if>
  1786. <if test="query.startDate != null">
  1787. AND inspector_date >= #{query.startDate}
  1788. </if>
  1789. <if test="query.endDate != null">
  1790. AND #{query.endDate} >= inspector_date
  1791. </if>
  1792. <if test="query.startDate2 != null">
  1793. AND task_date >= #{query.startDate2}
  1794. </if>
  1795. <if test="query.endDate2 != null">
  1796. AND #{query.endDate2} >= task_date
  1797. </if>
  1798. </where>
  1799. ORDER BY
  1800. CASE WHEN state = '待检验' THEN 1
  1801. WHEN state = '待审核' THEN 2
  1802. WHEN state = '已完成' THEN 3
  1803. END, task_date desc
  1804. </select>
  1805. <!-- IPQC明细记录查询 -->
  1806. <select id="ipqcDetailSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1807. SELECT
  1808. a.site,
  1809. a.bu_no,
  1810. a.inspection_no,
  1811. a.order_no,
  1812. a.template_id,
  1813. a.sampling_level_no,
  1814. a.sampling_level_desc,
  1815. a.sampling_programme_no,
  1816. a.sampling_programme_desc,
  1817. a.AQL,
  1818. a.AC,
  1819. a.RE,
  1820. a.item_no,
  1821. a.item_desc,
  1822. a.object_id,
  1823. a.object_desc,
  1824. a.default_value,
  1825. a.min_value,
  1826. a.max_value,
  1827. a.text_value,
  1828. a.number_value,
  1829. a.value_type_db,
  1830. a.value_type,
  1831. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  1832. a.is_submit,
  1833. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  1834. a.sampling_qty,
  1835. dbo.qc_get_ipqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  1836. c.method_no,
  1837. c.method_name,
  1838. c.method_remark
  1839. FROM qc_ipqc_detailed_record as a
  1840. 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
  1841. 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
  1842. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  1843. </select>
  1844. <!-- 删除IPQC检验记录 -->
  1845. <delete id="deleteIPQCRecord" parameterType="QcFAIRecordData">
  1846. DELETE FROM qc_ipqc_record
  1847. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1848. </delete>
  1849. <!-- 删除IPQC检验记录 -->
  1850. <delete id="deleteIPQCRecordCount" parameterType="QcFAIRecordData">
  1851. DELETE FROM qc_ipqc_record_count
  1852. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1853. </delete>
  1854. <!-- 删除IPQC明细记录信息 -->
  1855. <delete id="deleteIPQCDetailedRecord" parameterType="QcFAIRecordData">
  1856. DELETE FROM qc_ipqc_detailed_record
  1857. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1858. </delete>
  1859. <!-- 删除IPQC子明细记录信息 -->
  1860. <delete id="deleteIPQCSubDetailedRecord" parameterType="QcFAIRecordData">
  1861. DELETE FROM qc_ipqc_sub_detail_record
  1862. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1863. </delete>
  1864. <!-- 修改IPQC主记录信息 -->
  1865. <update id="updateIPQCMasterRecord" parameterType="QcFAIRecordData">
  1866. UPDATE qc_ipqc_record
  1867. SET disposal_measures = #{disposalMeasures},
  1868. disposal_remark = #{disposalRemark},
  1869. inspection_result = #{inspectionResult},
  1870. inspector_no = #{inspectorNo},
  1871. state = #{state},
  1872. inspection_remark = #{inspectionRemark},
  1873. inspector_date = getDate(),
  1874. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  1875. roll_qty = #{rollQty,jdbcType=DECIMAL},
  1876. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL}
  1877. WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
  1878. </update>
  1879. <!-- 修改IPQC明细记录信息 -->
  1880. <update id="updateIPQCDetailedRecord" parameterType="QcFAIRecordData">
  1881. UPDATE qc_ipqc_detailed_record
  1882. SET item_result = #{itemResult},
  1883. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  1884. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  1885. text_value = #{textValue},
  1886. number_value = #{numberValue,jdbcType=DECIMAL}
  1887. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  1888. </update>
  1889. <!-- 修改IPQC主记录标识为已提交 -->
  1890. <update id="updateIPQCMasterSubmitFlag" parameterType="QcFAIRecordData">
  1891. UPDATE qc_ipqc_record
  1892. SET submit_flag = 'Y',
  1893. state = '已完成'
  1894. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1895. </update>
  1896. <!-- 修改IPQC明细记录标识为已提交 -->
  1897. <update id="updateIPQCDetailSubmitFlag" parameterType="QcFAIRecordData">
  1898. UPDATE qc_ipqc_detailed_record
  1899. SET is_submit = 'Y'
  1900. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1901. </update>
  1902. <!-- 修改IPQC子明细记录标识为已提交 -->
  1903. <update id="updateIPQCSubDetailSubmitFlag" parameterType="QcFAIRecordData">
  1904. UPDATE qc_ipqc_sub_detail_record
  1905. SET is_submit = 'Y'
  1906. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1907. </update>
  1908. <!-- 删除IPQC子明细的老数据 -->
  1909. <delete id="delIPQCSubDetailedRecord" parameterType="QcSubDetailInformationData">
  1910. DELETE FROM qc_ipqc_sub_detail_record
  1911. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  1912. </delete>
  1913. <!-- 新增IPQC子明细信息 -->
  1914. <insert id="saveIPQCSubDetailed">
  1915. INSERT INTO qc_ipqc_sub_detail_record
  1916. (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no)
  1917. VALUES
  1918. <foreach collection="list" item="item" separator=",">
  1919. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo})
  1920. </foreach>
  1921. </insert>
  1922. <!-- 查询IPQC的子明细 -->
  1923. <select id="selectIPQCSubDetailedRecord" parameterType="SubDetailValues" resultType="SubDetailValues">
  1924. SELECT sub_detail_value,
  1925. sampling_location,
  1926. is_submit,
  1927. sampling_location_b
  1928. FROM qc_ipqc_sub_detail_record
  1929. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  1930. </select>
  1931. <!-- 查询IPQC检验记录是否已提交 -->
  1932. <select id="checkIPQCIsSubmit" parameterType="SubDetailValues" resultType="QcFAIRecordData">
  1933. SELECT submit_flag
  1934. FROM qc_ipqc_record
  1935. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  1936. </select>
  1937. <!-- 获取该项目的子明细值 -->
  1938. <select id="selectIPQCSubDetailValue" parameterType="string" resultType="SubDetailValues">
  1939. SELECT sub_detail_value,
  1940. sampling_location,
  1941. is_submit
  1942. FROM qc_ipqc_sub_detail_record
  1943. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  1944. </select>
  1945. <!-- 查询工序列表 -->
  1946. <select id="getOperationList" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1947. SELECT
  1948. DISTINCT
  1949. a.seqno as seqNo,
  1950. a.orderno as orderNo,
  1951. j.part_no,
  1952. j.part_desc,
  1953. j.spec,
  1954. j.sku,
  1955. c.operation_desc as operationDesc,
  1956. a.itemno as operationNo,
  1957. a.s_resourceid as resourceId,
  1958. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  1959. c.work_center_no
  1960. FROM soscheduledrouting as a
  1961. LEFT JOIN so_routing as c ON c.order_no = a.orderno and a.itemno = c.item_no
  1962. LEFT JOIN part j ON a.part_no = j.part_no
  1963. WHERE a.seqno = #{seqNo}
  1964. </select>
  1965. <!-- 根据工单号和工序号查出所有数据 -->
  1966. <select id="getResourceList" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1967. SELECT
  1968. a.s_resourceid as resourceId,
  1969. DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
  1970. c.work_center_no
  1971. FROM soscheduledrouting as a
  1972. LEFT JOIN sfdc as b ON a.site = b.site and a.seqno = b.assjob_seq_no
  1973. LEFT JOIN so_routing as c ON c.order_no = a.orderno and a.itemno = c.item_no and c.site = a.site
  1974. LEFT JOIN part j ON a.site = j.site and a.part_no = j.part_no
  1975. WHERE a.site = #{site} and b.approve_qty is not null and a.seqno = #{seqNo}
  1976. ORDER BY a.id desc
  1977. </select>
  1978. <!-- a.orderno = #{orderNo} and c.operation_desc = #{operationDesc}-->
  1979. <!-- 查询机台名称 -->
  1980. <select id="selectResourceDesc" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1981. SELECT distinct
  1982. resource_desc
  1983. FROM resource
  1984. WHERE site = #{site} and resource_id = #{resourceId}
  1985. </select>
  1986. <!-- 查询物料名称 -->
  1987. <select id="selectPartDesc" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  1988. SELECT distinct
  1989. part_desc
  1990. FROM part
  1991. WHERE site = #{site} and part_no = #{partNo}
  1992. </select>
  1993. <!-- ================================================= IQC检验维护 ================================================= -->
  1994. <!-- 查询IQC基础数据 -->
  1995. <select id="selectIQCBasicData" resultType="QcFAIRecordData" parameterType="QcFAIRecordData">
  1996. SELECT
  1997. qir.inspection_no,
  1998. qir.state,
  1999. qir.create_date as taskDate,
  2000. qir.roll_no,
  2001. qir.part_no,
  2002. p.part_desc,
  2003. p.cinv_source_code,
  2004. dbo.qc_get_sku(p.part_no) as sku,
  2005. qir.roll_qty,
  2006. qir.print_flag,
  2007. qir.create_by,
  2008. qir.supplier_no,
  2009. qir.site,
  2010. qir.bu_no,
  2011. qir.po_orderNo,
  2012. qir.po_itemNo,
  2013. qir.roll_count
  2014. FROM qc_iqc_record as qir
  2015. LEFT JOIN part p ON qir.part_no = p.part_no and qir.site = p.site
  2016. WHERE qir.site in (select site from eam_access_site where username = #{userName})
  2017. and (qir.site + '-' + qir.bu_no) in (select * from dbo.query_bu(#{userName}))
  2018. and qir.detail_flag = 'N'
  2019. </select>
  2020. <!-- 新增IQC明细记录信息 -->
  2021. <insert id="saveIQCDetailedRecord" parameterType="QcFAIRecordData">
  2022. 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)
  2023. 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})
  2024. </insert>
  2025. <!-- 修改IQC检验记录 -->
  2026. <update id="updateIQCRecord" parameterType="QcFAIRecordData">
  2027. UPDATE qc_iqc_record
  2028. SET inspection_type_no = #{inspectionTypeNo},
  2029. sampling_qty = #{samplingQty},
  2030. inspection_cycle = #{inspectionCycle},
  2031. part_desc = #{partDesc},
  2032. detail_flag = 'Y'
  2033. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2034. </update>
  2035. <!-- 查询IQC主记录信息 -->
  2036. <select id="qcIQCInspectionSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  2037. SELECT
  2038. inspection_no,
  2039. site,
  2040. bu_no,
  2041. dbo.get_bu_desc(site, bu_no) as buDesc,
  2042. state,
  2043. inspection_result,
  2044. create_date as taskDate,
  2045. inspection_type_no,
  2046. inspection_cycle,
  2047. part_no,
  2048. part_desc,
  2049. dbo.qc_get_cinv_source_code(part_no) as cinvSourceCode,
  2050. dbo.qc_get_sku(part_no) as sku,
  2051. dbo.qc_get_part_umid(site, part_no) as umId,
  2052. inspection_remark,
  2053. roll_qty,
  2054. sampling_qty,
  2055. disposal_measures,
  2056. disposal_remark,
  2057. inspector_date,
  2058. inspector_no,
  2059. dbo.qc_get_inspector_name(site, inspector_no) as inspectorName,
  2060. unqualified_quantity,
  2061. submit_flag,
  2062. roll_no,
  2063. supplier_no,
  2064. dbo.qc_get_supplier_name(site, supplier_no) as supplierDesc,
  2065. po_orderNo,
  2066. po_itemNo,
  2067. roll_count
  2068. FROM qc_iqc_record
  2069. <where>
  2070. site in (select site from eam_access_site where username = #{query.userName})
  2071. and (site + '-' + bu_no) in (select * from dbo.query_bu(#{query.userName}))
  2072. <if test="query.buDesc != null and query.buDesc != ''">
  2073. AND dbo.get_bu_desc ( site, bu_no ) = #{query.buDesc}
  2074. </if>
  2075. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  2076. AND inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  2077. </if>
  2078. <if test = "query.state != null and query.state != ''">
  2079. AND state = #{query.state}
  2080. </if>
  2081. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  2082. AND inspection_result = #{query.inspectionResult}
  2083. </if>
  2084. <if test = "query.partNo != null and query.partNo != ''">
  2085. AND part_no LIKE '%' + #{query.partNo} + '%'
  2086. </if>
  2087. <if test = "query.partDesc != null and query.partDesc != ''">
  2088. AND part_desc LIKE '%' + #{query.partDesc} + '%'
  2089. </if>
  2090. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  2091. AND dbo.qc_get_cinv_source_code(part_no) LIKE '%' + #{query.cinvSourceCode} + '%'
  2092. </if>
  2093. <if test = "query.sku != null and query.sku != ''">
  2094. AND dbo.qc_get_sku(part_no) LIKE '%' + #{query.sku} + '%'
  2095. </if>
  2096. <if test = "query.supplierDesc != null and query.supplierDesc != ''">
  2097. AND dbo.qc_get_supplier_name(site, supplier_no) LIKE '%' + #{query.supplierDesc} + '%'
  2098. </if>
  2099. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  2100. AND disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  2101. </if>
  2102. <if test = "query.inspectorName != null and query.inspectorName != ''">
  2103. AND dbo.qc_get_inspector_name(site, inspector_no) LIKE '%' + #{query.inspectorName} + '%'
  2104. </if>
  2105. <if test="query.startDate != null">
  2106. AND inspector_date >= #{query.startDate}
  2107. </if>
  2108. <if test="query.endDate != null">
  2109. AND #{query.endDate} >= inspector_date
  2110. </if>
  2111. <if test="query.startDate2 != null">
  2112. AND create_date >= #{query.startDate2}
  2113. </if>
  2114. <if test="query.endDate2 != null">
  2115. AND #{query.endDate2} >= create_date
  2116. </if>
  2117. </where>
  2118. ORDER BY
  2119. CASE WHEN state = '待检验' THEN 1
  2120. WHEN state = '待审核' THEN 2
  2121. WHEN state = '已完成' THEN 3
  2122. END, create_date desc
  2123. </select>
  2124. <!-- IQC明细记录查询 -->
  2125. <select id="iqcDetailSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  2126. SELECT
  2127. a.site,
  2128. a.bu_no,
  2129. a.inspection_no,
  2130. a.template_id,
  2131. a.sampling_level_no,
  2132. a.sampling_level_desc,
  2133. a.sampling_programme_no,
  2134. a.sampling_programme_desc,
  2135. a.AQL,
  2136. a.AC,
  2137. a.RE,
  2138. a.item_no,
  2139. a.item_desc,
  2140. a.object_id,
  2141. a.object_desc,
  2142. a.default_value,
  2143. a.min_value,
  2144. a.max_value,
  2145. a.text_value,
  2146. a.number_value,
  2147. a.value_type_db,
  2148. a.value_type,
  2149. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  2150. a.is_submit,
  2151. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  2152. dbo.qc_get_iqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  2153. c.method_no,
  2154. c.method_name,
  2155. c.method_remark,
  2156. a.sampling_qty
  2157. FROM qc_iqc_detailed_record as a
  2158. 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
  2159. 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
  2160. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  2161. </select>
  2162. <!-- 查询IQC的子明细 -->
  2163. <select id="selectIQCSubDetailedRecord" parameterType="SubDetailValues" resultType="SubDetailValues">
  2164. SELECT
  2165. site,
  2166. bu_no,
  2167. sub_detail_value,
  2168. sampling_location,
  2169. is_submit,
  2170. sampling_location_b
  2171. FROM qc_iqc_sub_detail_record
  2172. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2173. </select>
  2174. <!-- 获取该项目的子明细值 -->
  2175. <select id="selectIQCSubDetailValue" parameterType="string" resultType="SubDetailValues">
  2176. SELECT sub_detail_value,
  2177. sampling_location,
  2178. is_submit
  2179. FROM qc_iqc_sub_detail_record
  2180. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  2181. </select>
  2182. <!-- 修改IQC主记录信息 -->
  2183. <update id="updateIQCMasterRecord" parameterType="QcFAIRecordData">
  2184. UPDATE qc_iqc_record
  2185. SET disposal_measures = #{disposalMeasures},
  2186. disposal_remark = #{disposalRemark},
  2187. inspection_result = #{inspectionResult},
  2188. inspector_no = #{inspectorNo},
  2189. state = #{state},
  2190. inspection_remark = #{inspectionRemark},
  2191. inspector_date = getDate(),
  2192. roll_count = #{rollCount,jdbcType=DECIMAL},
  2193. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2194. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL}
  2195. WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
  2196. </update>
  2197. <!-- 修改IQC明细记录信息 -->
  2198. <update id="updateIQCDetailedRecord" parameterType="QcFAIRecordData">
  2199. UPDATE qc_iqc_detailed_record
  2200. SET item_result = #{itemResult},
  2201. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  2202. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2203. text_value = #{textValue},
  2204. number_value = #{numberValue,jdbcType=DECIMAL}
  2205. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2206. </update>
  2207. <!-- 查询该记录明细是否已存在 -->
  2208. <select id="checkIQCDetail" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  2209. SELECT inspection_no,
  2210. template_id
  2211. FROM qc_iqc_detailed_record
  2212. WHERE inspection_no = #{inspectionNo} and site = #{site}
  2213. </select>
  2214. <!-- 查询IQC检验记录是否已提交 -->
  2215. <select id="checkIQCIsSubmit" parameterType="SubDetailValues" resultType="QcFAIRecordData">
  2216. SELECT submit_flag
  2217. FROM qc_iqc_record
  2218. WHERE inspection_no = #{inspectionNo} and site = #{site}
  2219. </select>
  2220. <!-- 删除IQC子明细的老数据 -->
  2221. <delete id="delIQCSubDetailedRecord" parameterType="QcSubDetailInformationData">
  2222. DELETE FROM qc_iqc_sub_detail_record
  2223. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2224. </delete>
  2225. <!-- 新增IQC子明细信息 -->
  2226. <insert id="saveIQCSubDetailed">
  2227. INSERT INTO qc_iqc_sub_detail_record
  2228. (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no)
  2229. VALUES
  2230. <foreach collection="list" item="item" separator=",">
  2231. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo})
  2232. </foreach>
  2233. </insert>
  2234. <!-- 修改IQC主记录标识为已提交 -->
  2235. <update id="updateIQCMasterSubmitFlag" parameterType="QcFAIRecordData">
  2236. UPDATE qc_iqc_record
  2237. SET submit_flag = 'Y',
  2238. state = '已完成'
  2239. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2240. </update>
  2241. <!-- 修改IQC明细记录标识为已提交 -->
  2242. <update id="updateIQCDetailSubmitFlag" parameterType="QcFAIRecordData">
  2243. UPDATE qc_iqc_detailed_record
  2244. SET is_submit = 'Y'
  2245. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2246. </update>
  2247. <!-- 修改IQC子明细记录标识为已提交 -->
  2248. <update id="updateIQCSubDetailSubmitFlag" parameterType="QcFAIRecordData">
  2249. UPDATE qc_iqc_sub_detail_record
  2250. SET is_submit = 'Y'
  2251. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2252. </update>
  2253. <!-- 删除IQC检验记录 -->
  2254. <delete id="deleteIQCRecord" parameterType="QcFAIRecordData">
  2255. DELETE FROM qc_iqc_record
  2256. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2257. </delete>
  2258. <!-- 删除IQC明细记录信息 -->
  2259. <delete id="deleteIQCDetailedRecord" parameterType="QcFAIRecordData">
  2260. DELETE FROM qc_iqc_detailed_record
  2261. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2262. </delete>
  2263. <!-- 删除IQC子明细记录信息 -->
  2264. <delete id="deleteIQCSubDetailedRecord" parameterType="QcFAIRecordData">
  2265. DELETE FROM qc_iqc_sub_detail_record
  2266. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2267. </delete>
  2268. <!-- 查询文件ID -->
  2269. <select id="queryFileId" parameterType="SysOssEntity" resultType="SysOssEntity">
  2270. SELECT id, file_name
  2271. FROM sys_oss
  2272. WHERE order_ref1 = #{orderRef1} and order_ref2 = #{orderRef2}
  2273. </select>
  2274. <!-- 获取工序列表 -->
  2275. <select id="getOperationDescList" parameterType="QcPartAttributeData" resultType="QcPartAttributeData">
  2276. SELECT distinct
  2277. operation_desc
  2278. FROM so_routing
  2279. <where>
  2280. <if test = "operationDesc != null and operationDesc != ''">
  2281. AND operation_desc LIKE '%' + #{operationDesc} + '%'
  2282. </if>
  2283. </where>
  2284. </select>
  2285. <!-- 获取供应商列表 -->
  2286. <select id="getManufacturerList" parameterType="QcPartAttributeData" resultType="QcPartAttributeData">
  2287. SELECT
  2288. supplierID as manufacturerID,
  2289. supplierName as manufacturerName
  2290. FROM view_Supplier
  2291. <where>
  2292. site = #{site}
  2293. <if test = "manufacturerID != null and manufacturerID != ''">
  2294. AND supplierID LIKE '%' + #{manufacturerID} + '%'
  2295. </if>
  2296. <if test = "manufacturerName != null and manufacturerName != ''">
  2297. AND supplierName LIKE '%' + #{manufacturerName} + '%'
  2298. </if>
  2299. </where>
  2300. </select>
  2301. <!-- 获取机台列表 -->
  2302. <select id="getAllResourceList" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  2303. SELECT distinct
  2304. resource_id,
  2305. resource_desc
  2306. FROM resource
  2307. <where>
  2308. site = #{site}
  2309. <if test = "resourceId != null and resourceId != ''">
  2310. AND resource_id LIKE '%' + #{resourceId} + '%'
  2311. </if>
  2312. <if test = "resourceDesc != null and resourceDesc != ''">
  2313. AND resource_desc LIKE '%' + #{resourceDesc} + '%'
  2314. </if>
  2315. </where>
  2316. </select>
  2317. <!-- 获取工单列表 -->
  2318. <select id="getOrderNoList" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  2319. SELECT DISTINCT
  2320. a.orderno as orderNo
  2321. FROM soscheduledrouting as a
  2322. LEFT JOIN sfdc as b ON a.site = b.site and a.seqno = b.assjob_seq_no
  2323. LEFT JOIN so_routing as c ON c.order_no = a.orderno and a.itemno = c.item_no and c.site = a.site
  2324. LEFT JOIN part j ON a.site = j.site and a.part_no = j.part_no
  2325. <where>
  2326. a.site = #{site}
  2327. AND b.approve_qty is not null
  2328. <if test = "orderNo != null and orderNo != ''">
  2329. AND a.orderno LIKE '%' + #{orderNo} + '%'
  2330. </if>
  2331. </where>
  2332. order by a.orderno DESC
  2333. </select>
  2334. <!-- 查询FQC主记录信息 -->
  2335. <select id="qcFQCInspectionSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  2336. SELECT
  2337. inspection_no,
  2338. site,
  2339. bu_no,
  2340. dbo.get_bu_desc(site, bu_no) as buDesc,
  2341. state,
  2342. inspection_result,
  2343. task_date,
  2344. inspection_type_no,
  2345. dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName,
  2346. inspection_cycle,
  2347. order_no,
  2348. operation_desc,
  2349. resource_id,
  2350. dbo.qc_get_resource_desc(site, resource_id, work_center_no) as resourceDesc,
  2351. part_no,
  2352. dbo.qc_get_part_desc(part_no) as part_desc,
  2353. inspection_remark,
  2354. roll_qty,
  2355. sampling_qty,
  2356. disposal_measures,
  2357. disposal_remark,
  2358. inspector_date,
  2359. inspector_no,
  2360. dbo.qc_get_inspector_name(site, inspector_no) as inspectorName,
  2361. ssr_id,
  2362. unqualified_qty,
  2363. submit_flag,
  2364. dbo.qc_get_cinv_source_code(part_no) as cinvSourceCode,
  2365. dbo.qc_get_sku(part_no) as sku,
  2366. dbo.qc_get_spec(part_no) as spec,
  2367. seq_no,
  2368. batch_roll_no,
  2369. special_requirements,
  2370. work_center_no,
  2371. roll_no,
  2372. um_id,
  2373. dbo.qc_get_um_name(site, um_id) as umName
  2374. FROM qc_fqc_record
  2375. <where>
  2376. site in (select site from eam_access_site where username = #{query.userName})
  2377. and (site + '-' + bu_no) in (select * from dbo.query_bu(#{query.userName}))
  2378. <if test="query.buDesc != null and query.buDesc != ''">
  2379. AND dbo.get_bu_desc ( site, bu_no ) = #{query.buDesc}
  2380. </if>
  2381. <if test = "query.inspectionNo != null and query.inspectionNo != ''">
  2382. AND inspection_no LIKE '%' + #{query.inspectionNo} + '%'
  2383. </if>
  2384. <if test = "query.partNo != null and query.partNo != ''">
  2385. AND part_no LIKE '%' + #{query.partNo} + '%'
  2386. </if>
  2387. <if test = "query.partDesc != null and query.partDesc != ''">
  2388. AND dbo.qc_get_part_desc(part_no) LIKE '%' + #{query.partDesc} + '%'
  2389. </if>
  2390. <if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
  2391. AND dbo.qc_get_cinv_source_code(part_no) LIKE '%' + #{query.cinvSourceCode} + '%'
  2392. </if>
  2393. <if test = "query.sku != null and query.sku != ''">
  2394. AND dbo.qc_get_sku(part_no) LIKE '%' + #{query.sku} + '%'
  2395. </if>
  2396. <if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
  2397. AND disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
  2398. </if>
  2399. <if test = "query.state != null and query.state != ''">
  2400. AND state = #{query.state}
  2401. </if>
  2402. <if test = "query.inspectionResult != null and query.inspectionResult != ''">
  2403. AND inspection_result = #{query.inspectionResult}
  2404. </if>
  2405. <if test = "query.orderNo != null and query.orderNo != ''">
  2406. AND order_no LIKE '%' + #{query.orderNo} + '%'
  2407. </if>
  2408. <if test = "query.operationDesc != null and query.operationDesc != ''">
  2409. AND operation_desc LIKE '%' + #{query.operationDesc} + '%'
  2410. </if>
  2411. <if test="query.startDate != null">
  2412. AND inspector_date >= #{query.startDate}
  2413. </if>
  2414. <if test="query.endDate != null">
  2415. AND #{query.endDate} >= inspector_date
  2416. </if>
  2417. <if test="query.startDate2 != null">
  2418. AND task_date >= #{query.startDate2}
  2419. </if>
  2420. <if test="query.endDate2 != null">
  2421. AND #{query.endDate2} >= task_date
  2422. </if>
  2423. </where>
  2424. ORDER BY
  2425. CASE WHEN state = '待检验' THEN 1
  2426. WHEN state = '待审核' THEN 2
  2427. WHEN state = '已完成' THEN 3
  2428. END, task_date desc
  2429. </select>
  2430. <!-- 新增FQC明细记录信息 -->
  2431. <insert id="saveFQCDetailedRecord" parameterType="QcFAIRecordData">
  2432. INSERT INTO qc_fqc_detailed_record (inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value, max_value, value_type_db, value_type, site, sampling_qty, bu_no)
  2433. VALUES(#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo})
  2434. </insert>
  2435. <!-- 新增FQC主记录信息 -->
  2436. <insert id="saveFQCRecord" parameterType="QcFAIRecordData">
  2437. INSERT INTO qc_fqc_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)
  2438. 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})
  2439. </insert>
  2440. <!-- FQC明细记录查询 -->
  2441. <select id="fqcDetailSearch" parameterType="QcFAIRecordData" resultType="QcFAIRecordData">
  2442. SELECT
  2443. a.site,
  2444. a.bu_no,
  2445. a.inspection_no,
  2446. a.order_no,
  2447. a.template_id,
  2448. a.sampling_level_no,
  2449. a.sampling_level_desc,
  2450. a.sampling_programme_no,
  2451. a.sampling_programme_desc,
  2452. a.AQL,
  2453. a.AC,
  2454. a.RE,
  2455. a.item_no,
  2456. a.item_desc,
  2457. a.object_id,
  2458. a.object_desc,
  2459. a.default_value,
  2460. a.min_value,
  2461. a.max_value,
  2462. a.text_value,
  2463. a.number_value,
  2464. a.value_type_db,
  2465. a.value_type,
  2466. case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
  2467. a.is_submit,
  2468. isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
  2469. a.sampling_qty,
  2470. dbo.qc_get_fqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
  2471. c.method_no,
  2472. c.method_name,
  2473. c.method_remark
  2474. FROM qc_fqc_detailed_record as a
  2475. 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
  2476. 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
  2477. WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
  2478. </select>
  2479. <!-- 删除FQC检验记录 -->
  2480. <delete id="deleteFQCRecord" parameterType="QcFAIRecordData">
  2481. DELETE FROM qc_fqc_record
  2482. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2483. </delete>
  2484. <!-- 删除FQC明细记录信息 -->
  2485. <delete id="deleteFQCDetailedRecord" parameterType="QcFAIRecordData">
  2486. DELETE FROM qc_fqc_detailed_record
  2487. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2488. </delete>
  2489. <!-- 删除FQC子明细记录信息 -->
  2490. <delete id="deleteFQCSubDetailedRecord" parameterType="QcFAIRecordData">
  2491. DELETE FROM qc_fqc_sub_detail_record
  2492. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2493. </delete>
  2494. <!-- 修改FQC主记录信息 -->
  2495. <update id="updateFQCMasterRecord" parameterType="QcFAIRecordData">
  2496. UPDATE qc_fqc_record
  2497. SET disposal_measures = #{disposalMeasures},
  2498. disposal_remark = #{disposalRemark},
  2499. inspection_result = #{inspectionResult},
  2500. inspector_no = #{inspectorNo},
  2501. state = #{state},
  2502. inspection_remark = #{inspectionRemark},
  2503. inspector_date = getDate(),
  2504. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2505. roll_qty = #{rollQty,jdbcType=DECIMAL},
  2506. unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL}
  2507. WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
  2508. </update>
  2509. <!-- 修改FQC明细记录信息 -->
  2510. <update id="updateFQCDetailedRecord" parameterType="QcFAIRecordData">
  2511. UPDATE qc_fqc_detailed_record
  2512. SET item_result = #{itemResult},
  2513. unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
  2514. sampling_qty = #{samplingQty,jdbcType=DECIMAL},
  2515. text_value = #{textValue},
  2516. number_value = #{numberValue,jdbcType=DECIMAL}
  2517. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2518. </update>
  2519. <!-- 修改FQC主记录标识为已提交 -->
  2520. <update id="updateFQCMasterSubmitFlag" parameterType="QcFAIRecordData">
  2521. UPDATE qc_fqc_record
  2522. SET submit_flag = 'Y',
  2523. state = '已完成'
  2524. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2525. </update>
  2526. <!-- 修改FAI明细记录标识为已提交 -->
  2527. <update id="updateFQCDetailSubmitFlag" parameterType="QcFAIRecordData">
  2528. UPDATE qc_fqc_detailed_record
  2529. SET is_submit = 'Y'
  2530. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2531. </update>
  2532. <!-- 修改子明细记录标识为已提交 -->
  2533. <update id="updateFQCSubDetailSubmitFlag" parameterType="QcFAIRecordData">
  2534. UPDATE qc_fqc_sub_detail_record
  2535. SET is_submit = 'Y'
  2536. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2537. </update>
  2538. <!-- 删除子明细的老数据 -->
  2539. <delete id="delFQCSubDetailedRecord" parameterType="QcSubDetailInformationData">
  2540. DELETE FROM qc_fqc_sub_detail_record
  2541. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2542. </delete>
  2543. <!-- 新增子明细信息 -->
  2544. <insert id="saveFQCSubDetailed">
  2545. INSERT INTO qc_fqc_sub_detail_record
  2546. (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no)
  2547. VALUES
  2548. <foreach collection="list" item="item" separator=",">
  2549. (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo})
  2550. </foreach>
  2551. </insert>
  2552. <!-- 查询FQC的子明细 -->
  2553. <select id="selectFQCSubDetailedRecord" parameterType="SubDetailValues" resultType="SubDetailValues">
  2554. SELECT
  2555. site,
  2556. bu_no,
  2557. sub_detail_value,
  2558. sampling_location,
  2559. is_submit,
  2560. sampling_location_b
  2561. FROM qc_fqc_sub_detail_record
  2562. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
  2563. </select>
  2564. <!-- 查询FQC检验记录是否已提交 -->
  2565. <select id="checkFQCIsSubmit" parameterType="SubDetailValues" resultType="QcFAIRecordData">
  2566. SELECT submit_flag
  2567. FROM qc_fqc_record
  2568. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2569. </select>
  2570. <!-- 获取该项目的子明细值 -->
  2571. <select id="selectFQCSubDetailValue" parameterType="string" resultType="SubDetailValues">
  2572. SELECT sub_detail_value,
  2573. sampling_location,
  2574. is_submit
  2575. FROM qc_fqc_sub_detail_record
  2576. WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
  2577. </select>
  2578. <!-- 生成FQC检验单号 -->
  2579. <select id="selectFQCInspectionNo" resultType="string" parameterType="QcFAIRecordData">
  2580. SELECT
  2581. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,4,10))),0)+1),8)
  2582. FROM qc_fqc_record
  2583. WHERE site = #{site} and bu_no = #{buNo}
  2584. </select>
  2585. <!-- 生成IPQC检验单号 -->
  2586. <select id="selectIPQCInspectionNo" resultType="string" parameterType="QcFAIRecordData">
  2587. SELECT
  2588. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,5,10))),0)+1),8)
  2589. FROM qc_ipqc_record
  2590. WHERE site = #{site} and bu_no = #{buNo}
  2591. </select>
  2592. <!-- 生成FAI检验单号 -->
  2593. <select id="selectFAIInspectionNo" resultType="string" parameterType="QcFAIRecordData">
  2594. SELECT
  2595. Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,4,10))),0)+1),8)
  2596. FROM qc_fai_record
  2597. WHERE site = #{site} and bu_no = #{buNo}
  2598. </select>
  2599. <!-- 根据 site、po_orderNo、po_itemNo 从 view_po_order 中查出数据 -->
  2600. <select id="queryDataFromViewPoOrder" resultType="PoOrderData" parameterType="QcFAIRecordData">
  2601. SELECT
  2602. site,
  2603. order_no,
  2604. item_no,
  2605. part_no,
  2606. part_desc,
  2607. spec,
  2608. supplier_id,
  2609. supplier_name,
  2610. order_qty,
  2611. created_date,
  2612. status,
  2613. citem_code,
  2614. citem_class,
  2615. sendto_address,
  2616. order_type
  2617. FROM view_po_order
  2618. WHERE site = #{site} and order_no = #{poOrderNo} and item_no = #{poItemNo}
  2619. </select>
  2620. <!-- 向收货任务表里添加数据 -->
  2621. <insert id="saveReceivingTask" parameterType="PoOrderData">
  2622. INSERT INTO receiving_task (site, order_no, item_no, part_no, part_desc, spec, supplier_id, supplier_name, order_qty, created_date, status, citem_code, citem_class, sendto_address, order_type, inspection_no)
  2623. VALUES (#{site}, #{orderNo}, #{itemNo}, #{partNo}, #{partDesc}, #{spec}, #{supplierId}, #{supplierName}, #{orderQty}, getDate(), #{status}, #{citemCode}, #{citemClass}, #{sendtoAddress}, #{orderType}, #{inspectionNo})
  2624. </insert>
  2625. <!-- 检查动控是否开启 -->
  2626. <select id="queryController" parameterType="SysSceneDynamicControlModelEntity" resultType="SysSceneDynamicControlModelEntity">
  2627. SELECT
  2628. type,
  2629. base_data,
  2630. base_desc,
  2631. status,
  2632. remark,
  2633. third_type,
  2634. second_type,
  2635. page_control,
  2636. control_style
  2637. FROM sys_scene_dynamic_control_model
  2638. where site = #{site} and control_no = #{controlNo}
  2639. </select>
  2640. <!-- 查询检验模板列表 -->
  2641. <select id="queryTemplateList" resultType="QcTemplateData" parameterType="QcTemplateData">
  2642. SELECT
  2643. site,
  2644. bu_no,
  2645. template_id as templateId,
  2646. template_name as templateName,
  2647. dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName
  2648. FROM qc_template
  2649. <where>
  2650. site = #{site} and bu_no = #{buNo} and dbo.qc_get_inspection_type_name(site, inspection_type_no) = #{inspectionTypeName}
  2651. <if test = "templateId != null and templateId != ''">
  2652. AND template_id LIKE '%' + #{templateId}+'%'
  2653. </if>
  2654. <if test = "templateName != null and templateName != ''">
  2655. AND template_name LIKE '%' + #{templateName}+'%'
  2656. </if>
  2657. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  2658. AND inspection_type_no = #{inspectionTypeNo}
  2659. </if>
  2660. </where>
  2661. </select>
  2662. <!-- 查询检验模板列表 -->
  2663. <select id="getPartInformation" resultType="QcFAIRecordData" parameterType="QcFAIRecordData">
  2664. select
  2665. part_no,
  2666. part_desc,
  2667. spec,
  2668. sku
  2669. from part
  2670. where site = #{site} and part_no = #{partNo}
  2671. </select>
  2672. <!-- 获取特殊工序列表 -->
  2673. <select id="getSpecialOperationList" resultType="QcFAIRecordData" parameterType="QcFAIRecordData">
  2674. select
  2675. site,
  2676. operation_no,
  2677. operation_desc
  2678. from qc_special_task_operation
  2679. where site = #{site}
  2680. </select>
  2681. <!-- 获取处置措施列表 -->
  2682. <select id="disposalMeasuresSearch" resultType="QcFAIRecordData" parameterType="QcFAIRecordData">
  2683. SELECT
  2684. id,
  2685. disposal_measures
  2686. FROM qc_disposal_measures
  2687. <where>
  2688. <if test = "inspectionTypeNo != '101'">
  2689. inspection_type != 'IPQC'
  2690. </if>
  2691. </where>
  2692. </select>
  2693. <!-- 查询文件路径 -->
  2694. <select id="searchItemFileUrl" resultType="SysOssEntity" parameterType="QcFAIRecordData">
  2695. SELECT
  2696. id,
  2697. url,
  2698. file_name
  2699. FROM sys_oss
  2700. WHERE order_ref1 = #{site} and order_ref2 = #{inspectionNo} and order_ref3 = #{itemNo} and order_ref4 = #{buNo}
  2701. </select>
  2702. <!-- 删除图片-->
  2703. <delete id="imageDelete" parameterType="SysOssEntity">
  2704. DELETE FROM sys_oss
  2705. WHERE id = #{id}
  2706. </delete>
  2707. <!-- 模糊查询标签号 -->
  2708. <select id="getRollNo" resultType="QcFAIRecordData" parameterType="QcFAIRecordData">
  2709. SELECT DISTINCT top 3
  2710. a.seqno,
  2711. a.orderno,
  2712. b.roll_no
  2713. FROM soscheduledrouting AS a
  2714. LEFT JOIN sfdc_rolls AS b ON a.site = b.site AND a.seqno = b.createdops_seqno
  2715. WHERE a.site = #{site} and b.roll_no like '%' + #{rollNo} + '%'
  2716. </select>
  2717. <!-- 标签号回车事件 -->
  2718. <select id="rollNoEnter" resultType="QcFAIRecordData" parameterType="QcFAIRecordData">
  2719. SELECT
  2720. a.site,
  2721. a.seqno as seqNo,
  2722. a.orderno as orderNo,
  2723. b.roll_no
  2724. FROM soscheduledrouting AS a
  2725. LEFT JOIN sfdc_rolls AS b ON a.site = b.site AND a.seqno = b.createdops_seqno
  2726. WHERE b.roll_no = #{rollNo}
  2727. </select>
  2728. <!-- 查询物料列表 -->
  2729. <select id="queryPartList" resultType="QcFAIRecordData" parameterType="QcFAIRecordData">
  2730. SELECT
  2731. site,
  2732. part_no,
  2733. part_desc,
  2734. sku,
  2735. spec
  2736. FROM part
  2737. <where>
  2738. site = #{site}
  2739. <if test = "partNo != null and partNo != ''">
  2740. AND part_no LIKE '%' + #{partNo} + '%'
  2741. </if>
  2742. <if test = "partDesc != null and partDesc != ''">
  2743. AND part_desc LIKE '%' + #{partDesc} + '%'
  2744. </if>
  2745. <if test = "sku != null and sku != ''">
  2746. AND sku LIKE '%' + #{sku} + '%'
  2747. </if>
  2748. </where>
  2749. </select>
  2750. <!-- 查询单位列表 -->
  2751. <select id="umSearch" resultType="QcFAIRecordData" parameterType="QcFAIRecordData">
  2752. SELECT
  2753. site,
  2754. UMID as umId,
  2755. UMName as umName
  2756. FROM UM
  2757. WHERE site = #{site} and active = #{active}
  2758. </select>
  2759. <!-- 查询单位列表 -->
  2760. <select id="checkItem" resultType="SubDetailValues" parameterType="SubDetailValues">
  2761. SELECT
  2762. site,
  2763. bu_no,
  2764. inspection_no,
  2765. item_no,
  2766. value_type_db,
  2767. min_value,
  2768. max_value
  2769. <if test = "flag == 'IPQC'">
  2770. FROM qc_ipqc_detailed_record
  2771. </if>
  2772. <if test = "flag == 'IQC'">
  2773. FROM qc_iqc_detailed_record
  2774. </if>
  2775. <if test = "flag == 'FQC'">
  2776. FROM qc_fqc_detailed_record
  2777. </if>
  2778. <if test = "flag == 'FAI'">
  2779. FROM qc_fai_detailed_record
  2780. </if>
  2781. WHERE site = #{site} and inspection_no = #{inspectionNo} and item_no = #{itemNo} and bu_no = #{buNo}
  2782. </select>
  2783. <!-- 查询检验方法列表 -->
  2784. <select id="queryMethodList" resultType="QcMethodData" parameterType="QcMethodData">
  2785. SELECT
  2786. site,
  2787. bu_no,
  2788. method_no,
  2789. method_name,
  2790. inspection_type_no,
  2791. dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName
  2792. FROM qc_method
  2793. <where>
  2794. site = #{site} and bu_no = #{buNo}
  2795. <if test = "methodNo != null and methodNo != ''">
  2796. AND method_no LIKE '%' + #{methodNo} + '%'
  2797. </if>
  2798. <if test = "methodName != null and methodName != ''">
  2799. AND method_name LIKE '%' + #{methodName} + '%'
  2800. </if>
  2801. <if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
  2802. AND inspection_type_no = #{inspectionTypeNo}
  2803. </if>
  2804. <if test="inspectionTypeName != null and inspectionTypeName != ''">
  2805. AND dbo.qc_get_inspection_type_name(site, inspection_type_no) = #{inspectionTypeName}
  2806. </if>
  2807. </where>
  2808. </select>
  2809. <!-- 修改detailFlag字段为N -->
  2810. <update id="updateIQCDetailFlag" parameterType="QcFAIRecordData">
  2811. UPDATE qc_iqc_record
  2812. SET detail_flag = 'N'
  2813. WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
  2814. </update>
  2815. <!-- 查询检验方法唯一 -->
  2816. <select id="checkMethodOnlyOne" resultType="QcMethodData" parameterType="QcMethodData">
  2817. SELECT
  2818. site,
  2819. bu_no,
  2820. method_no
  2821. FROM qc_method
  2822. <where>
  2823. site = #{site} and bu_no = #{buNo} and method_no = #{methodNo}
  2824. </where>
  2825. </select>
  2826. <!-- 查询检验项目唯一 -->
  2827. <select id="checkItemOnlyOne" resultType="QcItemData" parameterType="QcItemData">
  2828. SELECT
  2829. site,
  2830. bu_no,
  2831. ItemNo,
  2832. ItemDesc
  2833. FROM eam_properties_item
  2834. <where>
  2835. site = #{site} and bu_no = #{buNo} and ItemNo = #{itemNo} and ItemType = #{itemType}
  2836. </where>
  2837. </select>
  2838. <!-- 查询检验项目唯一 -->
  2839. <select id="checkTemplateOnlyOne" resultType="QcTemplateData" parameterType="QcTemplateData">
  2840. SELECT
  2841. site,
  2842. bu_no,
  2843. template_id,
  2844. template_name
  2845. FROM qc_template
  2846. <where>
  2847. site = #{site} and bu_no = #{buNo} and template_id = #{templateId}
  2848. </where>
  2849. </select>
  2850. <select id="searchSeqInfo" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData" resultType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  2851. SELECT DISTINCT
  2852. a.seqno,
  2853. a.orderno,
  2854. J.part_no,
  2855. J.part_desc,
  2856. t.lotsize,
  2857. a.qtyrequired,
  2858. c.operation_desc,
  2859. J.sku,
  2860. (select sum(roll_qty) from qc_ipqc_record where order_no = #{query.orderNo}) as sjzs
  2861. FROM
  2862. soscheduledrouting AS a
  2863. inner JOIN so_routing AS c ON c.order_no = a.orderno
  2864. AND a.itemno = c.item_no
  2865. AND c.site = a.site
  2866. inner JOIN part AS J ON a.site = J.site
  2867. AND a.part_no = J.part_no
  2868. inner JOIN shoporder AS t ON t.orderno = a.orderno
  2869. AND a.site = t.site
  2870. WHERE
  2871. a.site = #{query.site}
  2872. AND t.status = '下达'
  2873. <if test="query.orderNo != null and query.orderNo != ''">
  2874. AND a.orderno LIKE '%' + #{query.orderNo} + '%'
  2875. </if>
  2876. <if test="query.seqNo != null and query.seqNo != ''">
  2877. AND a.seqno LIKE '%' + #{query.seqNo} + '%'
  2878. </if>
  2879. <if test="query.sku != null and query.sku != ''">
  2880. AND dbo.qc_get_sku(a.part_no) LIKE '%' + #{query.sku} + '%'
  2881. </if>
  2882. <if test="query.partNo != null and query.partNo != ''">
  2883. AND J.part_no LIKE '%' + #{query.partNo} + '%'
  2884. </if>
  2885. <if test="query.partDesc != null and query.partDesc != ''">
  2886. AND J.part_desc LIKE '%' + #{query.partDesc} + '%'
  2887. </if>
  2888. <if test="query.operationDesc != null and query.operationDesc != ''">
  2889. AND c.operation_desc LIKE '%' + #{query.operationDesc} + '%'
  2890. </if>
  2891. </select>
  2892. <select id="searchPartInfo" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData" resultType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
  2893. select
  2894. part_no,
  2895. part_desc,
  2896. sku,
  2897. cinv_source_code,
  2898. sourceBu
  2899. from
  2900. part
  2901. where
  2902. sourceBu = #{query.buNo}
  2903. <if test="query.partNo != null and query.partNo != ''">
  2904. AND part_no LIKE '%' + #{query.partNo} + '%'
  2905. </if>
  2906. <if test="query.partDesc != null and query.partDesc != ''">
  2907. AND part_desc LIKE '%' + #{query.partDesc} + '%'
  2908. </if>
  2909. <if test="query.sku != null and query.sku != ''">
  2910. AND sku LIKE '%' + #{query.sku} + '%'
  2911. </if>
  2912. <if test="query.cinvSourceCode != null and query.cinvSourceCode != ''">
  2913. AND cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
  2914. </if>
  2915. </select>
  2916. </mapper>