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.

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