赫艾后端
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

5069 lines
229 KiB

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.heai.modules.pms.mapper.QcMapper">
<!-- ================================================= 检验方法 ================================================= -->
<!-- 条件查询检验方法 -->
<select id="qcMethodSearch" parameterType="com.heai.modules.pms.data.QcMethodData" resultType="com.heai.modules.pms.data.QcMethodData">
SELECT
qm.site,
qm.bu_no,
qm.method_no,
qm.method_name,
qm.create_date,
qm.create_by,
dbo.getOperatorDesc(qm.site, qm.create_by) as createByDesc,
qm.method_remark,
qm.update_date,
qm.update_by,
dbo.getOperatorDesc(qm.site, qm.update_by) as updateByDesc,
qm.inspection_type_no,
qit.inspection_type_name
FROM qc_method as qm
LEFT JOIN qc_inspection_type as qit on qm.site = qit.site and qm.inspection_type_no = qit.inspection_type_no
<where>
<if test="query.site != null and query.site != ''">
AND qm.site = #{query.site}
</if>
<if test="query.methodNo != null and query.methodNo != ''">
AND qm.method_no LIKE '%' + #{query.methodNo} +'%'
</if>
<if test="query.methodName != null and query.methodName != ''">
AND qm.method_name LIKE '%' + #{query.methodName} +'%'
</if>
<if test="query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
AND qm.inspection_type_no = #{query.inspectionTypeNo}
</if>
</where>
</select>
<!-- 获得检验方法单号 -->
<select id="getMethodNo" resultType="string" parameterType="com.heai.modules.pms.data.QcMethodData">
SELECT
Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(method_no,4))),0)+1),4)
FROM qc_method
WHERE site = #{site} AND inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
</select>
<!-- 新增检验方法 -->
<insert id="qcMethodSave" parameterType="com.heai.modules.pms.data.QcMethodData">
INSERT INTO qc_method (site, bu_no, method_no, method_name, create_date, create_by, method_remark, update_date, update_by, inspection_type_no)
VALUES (#{site}, #{buNo}, #{methodNo}, #{methodName}, GetDate(), #{createBy}, #{methodRemark}, getDate(), #{updateBy}, #{inspectionTypeNo})
</insert>
<!-- 修改检验方法 -->
<update id="qcMethodUpdate" parameterType="com.heai.modules.pms.data.QcMethodData">
UPDATE qc_method
SET method_name = #{methodName},
method_remark = #{methodRemark},
update_date = getDate(),
update_by = #{updateBy},
inspection_type_no = #{inspectionTypeNo}
WHERE site = #{site} and method_no = #{methodNo}
</update>
<!-- 检查方法是否在被项目使用 -->
<select id="checkMethodIsUsed" parameterType="com.heai.modules.pms.data.QcMethodData" resultType="com.heai.modules.pms.data.EamPropertiesItemData">
SELECT
ItemNo
FROM qc_method_item
WHERE site = #{site} and method_no = #{methodNo} and bu_no = #{buNo}
</select>
<!-- 删除检验方法 -->
<delete id="qcMethodDelete" parameterType="com.heai.modules.pms.data.QcMethodData">
DELETE FROM qc_method
WHERE site = #{site} and method_no = #{methodNo}
</delete>
<!-- ================================================= 检验项目 ================================================= -->
<!-- 根据条件查询检验项目 -->
<select id="qcItemSearch" parameterType="com.heai.modules.pms.data.QcItemData" resultType="com.heai.modules.pms.data.QcItemData">
SELECT
epi.site,
epi.bu_no,
epi.ItemNo,
epi.ItemDesc,
epi.DefaultValue,
epi.ValueType,
epi.ValueType_DB as valueTypeDb,
epi.ValueChooseFlag,
epi.CreatedDate,
epi.CreatedBy,
dbo.getOperatorDesc(epi.site, epi.CreatedBy) as createdByDesc,
epi.MaxValue,
epi.MinValue,
epi.ItemRemark,
epi.ItemType,
epi.update_date,
epi.update_by,
dbo.getOperatorDesc(epi.site, epi.update_by) as updateByDesc,
qm.method_no,
qm.method_name,
qm.method_remark,
epi.inspection_type_no,
qit.inspection_type_name,
epi.item_sampling_quantity,
epi.sampling_programme_no,
qsip.sampling_programme_desc,
epi.sampling_level_no,
qsil.sampling_level_desc,
epi.default_sampling_proportion,
epi.collection_flag,
epi.collection_source,
epi.collection_method,
CASE WHEN epi.collection_method = 'plc' THEN 'PLC'
WHEN epi.collection_method = 'file' THEN '文件'
WHEN epi.collection_method = 'image' THEN '图片'
else '' end as collectionMethodDesc,
epi.collection_condition,
epi.collection_data_content
FROM eam_properties_item as epi
LEFT JOIN qc_method_item as qmi on epi.ItemNo = qmi.ItemNo and epi.site = qmi.site
LEFT JOIN qc_method as qm on qmi.method_no = qm.method_no and qmi.site = qm.site
LEFT JOIN qc_inspection_type as qit on qit.inspection_type_no = epi.inspection_type_no and qit.site = epi.site
left join qc_sampling_inspection_programme as qsip on qsip.site = epi.site and qsip.sampling_programme_no = epi.sampling_programme_no
left join qc_sampling_inspection_level as qsil on qsil.site = epi.site and qsil.sampling_level_no = epi.sampling_level_no
<where>
<if test="query.site != null and query.site != ''">
AND epi.site LIKE '%' + #{query.site} +'%'
</if>
<if test="query.itemDesc != null and query.itemDesc != ''">
AND epi.ItemDesc LIKE '%' + #{query.itemDesc} +'%'
</if>
<if test="query.itemNo != null and query.itemNo != ''">
AND epi.ItemNo LIKE '%' + #{query.itemNo} +'%'
</if>
<if test="query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
AND epi.inspection_type_no = #{query.inspectionTypeNo}
</if>
</where>
</select>
<!-- 检测是否存在该项目 -->
<select id="checkQcItem" parameterType="com.heai.modules.pms.data.QcItemData" resultType="com.heai.modules.pms.data.QcItemData">
SELECT ItemNo,
ItemDesc
FROM eam_properties_item
WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
</select>
<!-- 获得检验项目单号 -->
<select id="getItemNo" resultType="string" parameterType="com.heai.modules.pms.data.QcItemData">
SELECT
Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(ItemNo,4))),0)+1),4)
FROM eam_properties_item
WHERE site = #{site} and ItemType = 'D' and inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
</select>
<!-- 新增检验项目 -->
<insert id="qcItemSave" parameterType="com.heai.modules.pms.data.QcItemData">
INSERT INTO eam_properties_item (site,bu_no,ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB, ValueChooseFlag, CreatedDate, CreatedBy, MaxValue, MinValue, ItemRemark, ItemType, update_date, update_by, inspection_type_no, item_sampling_quantity, sampling_programme_no, sampling_level_no, default_sampling_proportion, collection_flag, collection_source, collection_method, collection_condition, collection_data_content)
VALUES (#{site},#{buNo}, #{itemNo}, #{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, #{valueChooseFlag}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType}, getDate(), #{updateBy}, #{inspectionTypeNo}, #{itemSamplingQuantity}, #{samplingProgrammeNo}, #{samplingLevelNo}, #{defaultSamplingProportion}, #{collectionFlag}, #{collectionSource}, #{collectionMethod}, #{collectionCondition}, #{collectionDataContent})
</insert>
<!-- 新增项目里的方法 -->
<insert id="qcItemMethodSave" parameterType="com.heai.modules.pms.data.QcItemData">
INSERT INTO qc_method_item (ItemNo, method_no, site,bu_no)
VALUES (#{itemNo}, #{methodNo}, #{site},#{buNo})
</insert>
<!-- 修改检验项目 -->
<update id="qcItemUpdate" parameterType="com.heai.modules.pms.data.QcItemData">
UPDATE eam_properties_item
SET ItemDesc = #{itemDesc},
DefaultValue = #{defaultValue},
ValueType = #{valueType},
ValueType_DB = #{valueTypeDb},
ValueChooseFlag = #{valueChooseFlag},
MaxValue = #{maxValue,jdbcType=DECIMAL},
MinValue = #{minValue,jdbcType=DECIMAL},
ItemRemark = #{itemRemark},
update_date = getDate(),
update_by = #{updateBy},
inspection_type_no = #{inspectionTypeNo},
item_sampling_quantity = #{itemSamplingQuantity},
sampling_programme_no = #{samplingProgrammeNo},
sampling_level_no = #{samplingLevelNo},
default_sampling_proportion = #{defaultSamplingProportion},
collection_flag = #{collectionFlag},
collection_source = #{collectionSource},
collection_method = #{collectionMethod},
collection_condition = #{collectionCondition},
collection_data_content = #{collectionDataContent}
WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
</update>
<!-- 修改项目中的方法 -->
<update id="qcItemMethodUpdate" parameterType="com.heai.modules.pms.data.QcItemData">
UPDATE qc_method_item
SET method_no = #{methodNo}
WHERE site = #{site} and ItemNo = #{itemNo}
</update>
<!-- 检查项目是否在被模板使用 -->
<select id="checkItemIsUsed" parameterType="com.heai.modules.pms.data.QcItemData" resultType="com.heai.modules.pms.data.EamPropertiesModelDetailData">
SELECT template_id
FROM qc_template_detailed
WHERE site = #{site} and ItemNo = #{itemNo} and bu_no = #{buNo}
</select>
<!-- 删除检验项目 -->
<delete id="qcItemDelete" parameterType="com.heai.modules.pms.data.QcItemData">
DELETE
FROM eam_properties_item
WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType}
</delete>
<!-- 删除项目-方法中间表数据 -->
<delete id="qcItemMethodDelete" parameterType="com.heai.modules.pms.data.QcItemData">
DELETE
FROM qc_method_item
WHERE site = #{site} and ItemNo = #{itemNo}
</delete>
<!-- ================================================= 质检员信息维护 ================================================= -->
<!-- 查询质检员信息列表 -->
<select id="inspectorSearch" resultType="com.heai.modules.pms.data.QcInspectorData">
SELECT inspector_no,
inspector_name,
inspector_phone,
inspector_type,
inspector_active
FROM qc_inspector
</select>
<!-- 检验是否已存在该质检员 -->
<select id="checkInspector" resultType="com.heai.modules.pms.data.QcInspectorData">
SELECT inspector_name
FROM qc_inspector
WHERE inspector_no = #{inspectorNo}
</select>
<!-- 新增质检员 -->
<insert id="inspectorSave" parameterType="com.heai.modules.pms.data.QcInspectorData">
INSERT INTO qc_inspector (inspector_no, inspector_name, inspector_phone, inspector_type, inspector_active, create_time)
VALUES (#{inspectorNo}, #{inspectorName}, #{inspectorPhone}, #{inspectorType}, #{inspectorActive}, getDate())
</insert>
<!-- 修改质检员 -->
<update id="inspectorUpdate" parameterType="com.heai.modules.pms.data.QcInspectorData">
UPDATE qc_inspector
SET inspector_name = #{inspectorName},
inspector_phone = #{inspectorPhone},
inspector_type = #{inspectorType},
inspector_active = #{inspectorActive}
WHERE inspector_no = #{inspectorNo}
</update>
<!-- 删除质检员 -->
<delete id="inspectorDelete" parameterType="com.heai.modules.pms.data.QcInspectorData">
DELETE FROM qc_inspector
WHERE inspector_no = #{inspectorNo}
</delete>
<!-- ================================================= 抽样矩阵维护 ================================================= -->
<!-- 查询抽样矩阵 -->
<select id="samplingInspectionPlanSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
SELECT
qsip.site,
qsip.bu_no,
qsip.sampling_plan_no,
qsip.sampling_plan_desc,
qsip.sampling_qty_no,
qsiq.sampling_qty,
qsiq.sampling_qty_desc,
qsip.sampling_qty_rank_no,
qsiqr.sampling_qty_rank_desc,
qsiqr.min_qty,
qsiqr.max_qty,
qsip.sampling_level_no,
qsil.sampling_level_desc,
qsip.sampling_plan_active,
case when qsip.sampling_plan_active = 'Y' then '是' when qsip.sampling_plan_active = 'N' then '否' else '' end as samplingPlanActiveDesc,
qsip.create_date,
qsip.create_by,
dbo.getOperatorDesc(qsip.site, qsip.create_by) as createByDesc,
qsip.update_date,
qsip.update_by,
dbo.getOperatorDesc(qsip.site, qsip.update_by) as updateByDesc
FROM qc_sampling_inspection_plan as qsip
LEFT JOIN qc_sampling_inspection_qty as qsiq ON qsip.sampling_qty_no = qsiq.sampling_qty_no and qsip.site = qsiq.site and qsip.bu_no = qsiq.bu_no
LEFT JOIN qc_sampling_inspection_qty_rank as qsiqr ON qsip.sampling_qty_rank_no = qsiqr.sampling_qty_rank_no and qsip.site = qsiqr.site and qsip.bu_no = qsiqr.bu_no
LEFT JOIN qc_sampling_inspection_level as qsil ON qsip.sampling_level_no = qsil.sampling_level_no and qsip.site = qsil.site and qsip.bu_no = qsil.bu_no
<where>
<if test="query.site != null and query.site != ''">
AND qsip.site = #{query.site}
</if>
<if test="query.samplingQtyDesc != null and query.samplingQtyDesc != ''">
AND qsiq.sampling_qty_desc LIKE '%' + #{query.samplingQtyDesc}+'%'
</if>
<if test="query.samplingLevelDesc != null and query.samplingLevelDesc != ''">
AND qsil.sampling_level_desc LIKE '%' + #{query.samplingLevelDesc}+'%'
</if>
<if test="query.samplingPlanActive != null and query.samplingPlanActive != ''">
AND qsip.sampling_plan_active = #{query.samplingPlanActive}
</if>
</where>
</select>
<!-- 根据三个编码查矩阵 -->
<select id="selectSamplingPlanByNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
SELECT
site,
bu_no,
sampling_plan_no,
sampling_qty_no,
sampling_qty_rank_no,
sampling_level_no,
sampling_plan_active
FROM qc_sampling_inspection_plan
WHERE sampling_qty_no = #{samplingQtyNo} AND sampling_qty_rank_no = #{samplingQtyRankNo} AND sampling_level_no = #{samplingLevelNo} AND site = #{site} and bu_no = #{buNo}
</select>
<!-- 根据名称查矩阵 -->
<select id="selectSamplingPlanByDesc" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
SELECT
site,
bu_no,
sampling_plan_no,
sampling_qty_no,
sampling_qty_rank_no,
sampling_level_no,
sampling_plan_active
FROM qc_sampling_inspection_plan
WHERE sampling_plan_desc = #{samplingPlanDesc} AND site = #{site} and bu_no = #{buNo}
</select>
<!-- 获取最大方矩阵编码 -->
<select id="queryLastSamplingPlanNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
SELECT top 1 sampling_plan_no
FROM qc_sampling_inspection_plan
where site = #{site} and bu_no = #{buNo}
ORDER BY sampling_plan_no Desc
</select>
<!-- 新增抽样矩阵 -->
<insert id="samplingInspectionPlanSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
INSERT INTO qc_sampling_inspection_plan (site, bu_no, sampling_plan_no, sampling_plan_desc, sampling_qty_rank_no, sampling_level_no, sampling_qty_no, sampling_plan_active, create_date, create_by, update_date, update_by)
VALUES (#{site}, #{buNo}, #{samplingPlanNo}, #{samplingPlanDesc}, #{samplingQtyRankNo}, #{samplingLevelNo}, #{samplingQtyNo}, #{samplingPlanActive}, getDate(), #{createBy}, getDate(), #{updateBy})
</insert>
<!-- 修改抽样矩阵 -->
<update id="samplingInspectionPlanUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
UPDATE qc_sampling_inspection_plan
SET sampling_qty_rank_no = #{samplingQtyRankNo},
sampling_level_no = #{samplingLevelNo},
sampling_qty_no = #{samplingQtyNo},
sampling_plan_active = #{samplingPlanActive},
update_date = getDate(),
update_by = #{updateBy}
WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo}
</update>
<!-- 删除抽样矩阵 -->
<delete id="samplingInspectionPlanDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionPlanData">
DELETE FROM qc_sampling_inspection_plan
WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo}
</delete>
<!-- ================================================= 检验模板维护 ================================================= -->
<!-- 查询模板 -->
<select id="templateSearch" parameterType="com.heai.modules.pms.data.QcTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT
qt.site,
qt.bu_no,
qt.template_id,
qt.template_name,
qt.template_remark,
qt.template_type,
qt.template_version,
qt.sampling_programme_no,
qsip.sampling_programme_Desc,
qt.inspection_type_no,
qit.inspection_type_name,
qt.sampling_level_no,
qsil.sampling_level_desc,
qt.inspection_cycle,
qt.create_time,
qt.create_by,
dbo.getOperatorDesc(qt.site, qt.create_by) as createByDesc,
qt.update_date,
qt.update_by,
dbo.getOperatorDesc(qt.site, qt.update_by) as updateByDesc,
qt.AQL,
qt.AC,
qt.RE,
qt.default_sampling_quantity,
qt.default_sampling_proportion
FROM qc_template as qt
LEFT JOIN qc_inspection_type as qit on qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
LEFT JOIN qc_sampling_inspection_level as qsil on qt.sampling_level_no = qsil.sampling_level_no and qt.site = qsil.site and qt.bu_no = qsil.bu_no
LEFT JOIN qc_sampling_inspection_programme as qsip on qt.sampling_programme_no = qsip.sampling_programme_no and qt.site = qsip.site and qt.bu_no = qsip.bu_no
<where>
<if test = "query.site != null and query.site != ''">
AND qt.site = #{query.site}
</if>
<if test = "query.templateId != null and query.templateId != ''">
AND qt.template_id LIKE '%' + #{query.templateId}+'%'
</if>
<if test = "query.templateName != null and query.templateName != ''">
AND qt.template_name LIKE '%' + #{query.templateName}+'%'
</if>
<if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
AND qt.inspection_type_no = #{query.inspectionTypeNo}
</if>
</where>
order by qt.create_time desc
</select>
<!-- 获得检验模板单号 -->
<select id="getTemplateNo" resultType="string" parameterType="com.heai.modules.pms.data.QcTemplateData">
SELECT
Right('0000' + convert(varchar(10),isnull(max(convert(INT,Right(template_id,3))),0)+1),3)
FROM qc_template
WHERE site = #{site} and inspection_type_no = #{inspectionTypeNo} and bu_no = #{buNo}
</select>
<!-- 新增模板 -->
<insert id="templateSave" parameterType="com.heai.modules.pms.data.QcTemplateData">
INSERT INTO qc_template (site,bu_no,template_id, template_name, template_version, template_remark, template_type, sampling_programme_no, inspection_type_no, create_time, create_by, sampling_level_no, inspection_cycle, AQL, AC, RE, default_sampling_quantity, default_sampling_proportion, update_date, update_by)
VALUES (#{site},#{buNo}, #{templateId}, #{templateName},#{templateVersion}, #{templateRemark}, #{templateType}, #{samplingProgrammeNo}, #{inspectionTypeNo}, getDate(), #{createBy}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{aql}, #{ac}, #{re}, #{defaultSamplingQuantity}, #{defaultSamplingProportion}, getDate(), #{updateBy})
</insert>
<!-- 修改模板 -->
<update id="templateUpdate" parameterType="com.heai.modules.pms.data.QcTemplateData">
UPDATE qc_template
SET template_name = #{templateName},
template_version = #{templateVersion},
template_remark = #{templateRemark},
template_type = #{templateType},
sampling_programme_no = #{samplingProgrammeNo},
inspection_cycle = #{inspectionCycle},
inspection_type_no = #{inspectionTypeNo},
sampling_level_no = #{samplingLevelNo},
AQL = #{aql},
AC = #{ac},
RE = #{re},
default_sampling_quantity = #{defaultSamplingQuantity},
default_sampling_proportion = #{defaultSamplingProportion},
update_date = getDate(),
update_by = #{updateBy}
WHERE template_id = #{templateId} AND site = #{site}
</update>
<!-- 查询模板里的项目详情 -->
<select id="templateDetailsSearch" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT
a.site,
a.bu_no,
a.template_id,
a.ItemNo,
b.ItemDesc,
ISNULL(ad.default_value,a.default_value) AS default_value ,
b.ValueType,
b.ValueType_DB,
a.max_value,
a.min_value,
b.ItemRemark,
b.ItemType,
a.object_id,
eo.objectDesc,
b.item_sampling_quantity,
b.sampling_programme_no,
c.sampling_programme_desc,
b.sampling_level_no,
d.sampling_level_desc,
b.default_sampling_proportion,a.order_id
FROM qc_template_detailed a
INNER JOIN eam_properties_item b ON a.ItemNo = b.ItemNo and a.site = b.site
left join qc_part_attr_detailed ad on ad.item_no = b.ItemNo and b.site = ad.site and ad.attribute_no =#{attributeNo}
left join qc_sampling_inspection_programme as c on b.site = c.site and b.sampling_programme_no = c.sampling_programme_no
left join qc_sampling_inspection_level as d on b.site = d.site and b.sampling_level_no = d.sampling_level_no
LEFT JOIN eam_object eo ON a.object_id = eo.ObjectID and a.site = b.site
WHERE a.template_id = #{templateId} AND b.ItemType = #{itemType} and a.site = #{site}
order by a.order_id,a.ItemNo
</select>
<!-- 查询模板里是否已存在该项目 -->
<select id="selectItemDetails" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT template_id,
ItemNo,
default_value,
max_value,
min_value
FROM qc_template_detailed
WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
</select>
<!-- 查询项目的最大最小值 -->
<select id="selectDetail" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT ItemNo,
DefaultValue,
MaxValue,
MinValue
FROM eam_properties_item
WHERE ItemNo = #{itemNo} and ItemType = #{itemType} and site = #{site}
</select>
<!-- 新增模板的检验项目 -->
<insert id="addItemDetails" parameterType="com.heai.modules.pms.data.QcTemplateData">
INSERT INTO qc_template_detailed (template_id, ItemNo, default_value, max_value, min_value, site, bu_no,order_id)
VALUES (#{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{site}, #{buNo},#{orderId})
</insert>
<!-- 删除模板的检验项目 -->
<delete id="delItemDetails" >
DELETE FROM qc_template_detailed
WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 获取当前模板不包含的项目 -->
<select id="getItemList" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT
a.site,
a.bu_no,
a.itemNo,
a.ItemDesc,
a.DefaultValue,
a.MaxValue,
a.MinValue
FROM eam_properties_item a
LEFT JOIN qc_template_detailed b ON b.template_id = #{templateId} and b.ItemNo = a.ItemNo and a.site = b.site
WHERE a.ItemType = #{itemType} and a.site = #{site} and b.template_id is null and dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) = #{inspectionTypeName}
</select>
<!-- 查询项目 -->
<select id="getItem" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT
a.site,
a.bu_no,
a.itemNo,
a.ItemDesc,
a.DefaultValue,
a.MaxValue,
a.MinValue
FROM eam_properties_item a
LEFT JOIN qc_template_detailed b ON b.template_id = #{templateId} and b.ItemNo = a.ItemNo and a.site = b.site and a.bu_no = b.bu_no
<where>
a.ItemType = #{itemType} and a.site = #{site} and b.template_id is null and a.bu_no = #{buNo} and dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) = #{inspectionTypeName}
<if test = "itemNo != null and itemNo != ''">
AND a.ItemNo LIKE '%' + #{itemNo} + '%'
</if>
<if test = "itemDesc != null and itemDesc != ''">
AND a.ItemDesc LIKE '%' + #{itemDesc} + '%'
</if>
<if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
AND a.inspection_type_no = #{inspectionTypeNo}
</if>
</where>
</select>
<!-- ===================== qc_part_attr_detailed 物料属性检验标准(site+attribute_no+item_no) ===================== -->
<select id="partAttrDetailedSearch" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT
d.site,
d.bu_no,
d.attribute_no AS attributeNo,
d.item_no AS itemNo,
d.inspection_type_no AS inspectionTypeNo,
b.ItemDesc,
d.default_value AS defaultValue,
b.ValueType AS valueType,
b.ValueType_DB AS valueTypeDb,
d.max_value AS maxValue,
d.min_value AS minValue,
b.ItemRemark AS itemRemark,
b.ItemType AS itemType,
d.object_id AS objectID,
eo.objectDesc,
d.order_id AS orderId
FROM qc_part_attr_detailed d
INNER JOIN eam_properties_item b ON d.item_no = b.ItemNo AND d.site = b.site
LEFT JOIN eam_object eo ON d.object_id = eo.ObjectID AND d.site = b.site
WHERE d.site = #{site}
AND d.attribute_no = #{attributeNo}
AND d.bu_no = #{buNo}
ORDER BY d.order_id, d.item_no
</select>
<select id="getPartAttrItemList" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT
a.site,
a.bu_no,
a.itemNo,
a.ItemDesc,
a.DefaultValue,
a.MaxValue,
a.MinValue
FROM eam_properties_item a
LEFT JOIN qc_part_attr_detailed d
ON d.site = a.site
AND d.bu_no = #{buNo}
AND d.attribute_no = #{attributeNo}
AND d.item_no = a.ItemNo
WHERE a.ItemType = #{itemType}
AND a.site = #{site}
AND a.bu_no = #{buNo}
AND d.item_no IS NULL
AND dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) = #{inspectionTypeName}
</select>
<select id="getPartAttrItem" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT
a.site,
a.bu_no,
a.itemNo,
a.ItemDesc,
a.DefaultValue,
a.MaxValue,
a.MinValue
FROM eam_properties_item a
LEFT JOIN qc_part_attr_detailed d
ON d.site = a.site
AND d.bu_no = #{buNo}
AND d.attribute_no = #{attributeNo}
AND d.item_no = a.ItemNo
<where>
a.ItemType = #{itemType}
AND a.site = #{site}
AND d.item_no IS NULL
AND a.bu_no = #{buNo}
AND dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) = #{inspectionTypeName}
<if test="itemNo != null and itemNo != ''">
AND a.ItemNo LIKE '%' + #{itemNo} + '%'
</if>
<if test="itemDesc != null and itemDesc != ''">
AND a.ItemDesc LIKE '%' + #{itemDesc} + '%'
</if>
<if test="inspectionTypeNo != null and inspectionTypeNo != ''">
AND a.inspection_type_no = #{inspectionTypeNo}
</if>
</where>
</select>
<select id="selectPartAttrItemDetails" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT site, bu_no, attribute_no AS attributeNo, item_no AS itemNo
FROM qc_part_attr_detailed
WHERE site = #{site}
AND bu_no = #{buNo}
AND attribute_no = #{attributeNo}
AND item_no = #{itemNo}
</select>
<insert id="insertPartAttrDetailed" parameterType="com.heai.modules.pms.data.QcTemplateData">
INSERT INTO qc_part_attr_detailed
(site, bu_no, attribute_no, item_no, inspection_type_no, default_value, max_value, min_value, object_id, order_id, create_time)
VALUES
(#{site}, #{buNo}, #{attributeNo}, #{itemNo}, #{inspectionTypeNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{objectID}, #{orderId}, getDate())
</insert>
<delete id="deletePartAttrDetailed">
DELETE FROM qc_part_attr_detailed
WHERE site = #{site}
AND bu_no = #{buNo}
AND attribute_no = #{attributeNo}
AND item_no = #{itemNo}
</delete>
<delete id="deletePartAttrDetailedAll" parameterType="com.heai.modules.pms.data.QcTemplateData">
DELETE FROM qc_part_attr_detailed
WHERE site = #{site}
AND bu_no = #{buNo}
AND attribute_no = #{attributeNo}
</delete>
<select id="getPartAttrDetailedMaxOrderId" resultType="java.lang.Integer">
SELECT ISNULL(MAX(order_id), 0) + 1
FROM qc_part_attr_detailed
WHERE site = #{site}
AND bu_no = #{buNo}
AND attribute_no = #{attributeNo}
</select>
<select id="getUpPartAttrItemData" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT TOP 1
site,
bu_no,
attribute_no AS attributeNo,
item_no AS itemNo,
order_id AS orderId
FROM qc_part_attr_detailed
WHERE #{orderId} > order_id
AND site = #{site}
AND bu_no = #{buNo}
AND attribute_no = #{attributeNo}
ORDER BY order_id DESC
</select>
<select id="getDownPartAttrItemData" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT TOP 1
site,
bu_no,
attribute_no AS attributeNo,
item_no AS itemNo,
order_id AS orderId
FROM qc_part_attr_detailed
WHERE order_id > #{orderId}
AND site = #{site}
AND bu_no = #{buNo}
AND attribute_no = #{attributeNo}
ORDER BY order_id
</select>
<update id="updatePartAttrDetailedOrder">
UPDATE qc_part_attr_detailed
SET order_id = #{orderId}
WHERE site = #{site}
AND bu_no = #{buNo}
AND attribute_no = #{attributeNo}
AND item_no = #{itemNo}
</update>
<!-- 删除模板 -->
<delete id="templateDelete" parameterType="com.heai.modules.pms.data.QcTemplateData">
DELETE FROM qc_template
WHERE template_id = #{templateId} AND site = #{site}
</delete>
<!-- 删除模板-项目中间表 -->
<delete id="itemItemDelete" parameterType="com.heai.modules.pms.data.QcTemplateData">
DELETE FROM qc_template_detailed
WHERE template_id = #{templateId} and site = #{site}
</delete>
<!-- 搜索所有检验类型 -->
<select id="inspectionTypeSearch" resultType="com.heai.modules.pms.data.QcInspectionTypeData" parameterType="com.heai.modules.pms.data.QcInspectionTypeData">
SELECT inspection_type_no,
inspection_type_name
FROM qc_inspection_type
WHERE site = #{site}
</select>
<!-- 搜索所有设备 -->
<select id="objectSearch" resultType="com.heai.modules.pms.data.EamObjectData">
SELECT
ObjectID,
ObjectDesc
FROM eam_object
WHERE Active = 'Y' and site = #{site} and bu_no = #{buNo}
</select>
<!-- 导入文件检验 -->
<select id="getItemByItemNo" resultType="com.heai.modules.pms.data.EamPropertiesItemData" parameterType="com.heai.modules.pms.data.QcItemData">
SELECT ItemDesc,
ItemType
FROM eam_properties_item
WHERE ItemDesc = #{itemDesc}
AND DefaultValue = #{defaultValue}
AND MaxValue = #{maxValue}
AND MinValue = #{minValue}
AND ItemType = #{itemType}
</select>
<!-- 新增检验项目 -->
<insert id="insertItem" parameterType="com.heai.modules.pms.data.EamPropertiesItemData">
INSERT INTO eam_properties_item (ItemNo, ItemDesc,DefaultValue,ValueType,ValueType_DB, CreatedDate,CreatedBy,MaxValue, MinValue, ItemRemark,ItemType)
VALUES(#{itemNo},#{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType})
</insert>
<!-- &lt;!&ndash; 获取最大项目编码 &ndash;&gt;-->
<!-- <select id="queryLastItemNo" resultType="string" parameterType="QcItemData">-->
<!-- SELECT top 1 ItemNo-->
<!-- FROM eam_properties_item-->
<!-- WHERE ItemType = #{itemType}-->
<!-- ORDER BY ItemNo Desc-->
<!-- </select>-->
<!-- 根据模板名称查询模板 -->
<select id="selectTemplateByDesc" parameterType="com.heai.modules.pms.data.QcTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT template_id,
template_name,
template_version
FROM qc_template
WHERE template_name = #{templateName}
AND site = #{site}
AND template_version = #{templateVersion}
</select>
<delete id="delTemplateItem" parameterType="com.heai.modules.pms.data.QcTemplateData">
delete qc_template_detailed
WHERE template_id = #{templateId} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- &lt;!&ndash; 修改项目明细的最大最小值 &ndash;&gt;-->
<!-- <insert id="saveItemDetailed">-->
<!-- INSERT INTO qc_template_detailed-->
<!-- (site, bu_no, template_id, ItemNo, default_value, max_value, min_value)-->
<!-- VALUES-->
<!-- <foreach collection="list" item="item" separator=",">-->
<!-- (#{item.site}, #{item.buNo}, #{item.templateId}, #{item.itemNo}, #{item.defaultValue}, #{item.maxValue,jdbcType=DECIMAL}, #{item.minValue,jdbcType=DECIMAL})-->
<!-- </foreach>-->
<!-- </insert>-->
<!-- 修改项目明细的最大最小值 -->
<insert id="saveItemDetailed">
INSERT INTO qc_template_detailed
(site, bu_no, template_id, ItemNo, default_value, max_value, min_value, order_id)
VALUES
(#{site}, #{buNo}, #{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL},#{orderId})
</insert>
<!-- 查询项目明细 -->
<select id="selectItem" resultType="com.heai.modules.pms.data.QcTemplateData">
SELECT ItemNo,
ItemDesc,
DefaultValue,
ValueType,
ValueType_DB,
MaxValue,
MinValue,
ItemRemark,
ItemType,
site,
bu_no
FROM eam_properties_item
WHERE ItemNo = #{itemNo} AND ItemType = #{itemType} AND bu_no = #{buNo}
</select>
<!-- ================================================= 样本量维护 ================================================= -->
<!-- 查询样本量 -->
<select id="samplingQtySearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
SELECT
site,
bu_no,
sampling_qty_no,
sampling_qty_desc,
sampling_qty,
sampling_qty_remark,
sampling_qty_active,
case when sampling_qty_active = 'Y' then '是' when sampling_qty_active = 'N' then '否' else '' end as samplingQtyActiveDesc,
create_date,
create_by,
dbo.getOperatorDesc(site, create_by) as createByDesc,
update_date,
update_by,
dbo.getOperatorDesc(site, update_by) as updateByDesc
FROM qc_sampling_inspection_qty
<where>
<if test="query.site != null and query.site != ''">
AND site = #{query.site}
</if>
<if test="query.samplingQtyNo != null and query.samplingQtyNo != ''">
AND sampling_qty_no LIKE '%' + #{query.samplingQtyNo} + '%'
</if>
<if test="query.samplingQtyDesc != null and query.samplingQtyDesc != ''">
AND sampling_qty_desc LIKE '%' + #{query.samplingQtyDesc} + '%'
</if>
<if test="query.samplingQty != null">
AND sampling_qty = #{query.samplingQty,jdbcType=DECIMAL}
</if>
<if test="query.samplingQtyActive != null and query.samplingQtyActive != ''">
AND sampling_qty_active = #{query.samplingQtyActive}
</if>
</where>
</select>
<!-- 新增样本量 -->
<insert id="samplingQtySave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
INSERT INTO qc_sampling_inspection_qty (site, bu_no, sampling_qty_no, sampling_qty, sampling_qty_remark, sampling_qty_active, sampling_qty_desc, create_date, create_by, update_date, update_by)
VALUES(#{site}, #{buNo}, #{samplingQtyNo}, #{samplingQty,jdbcType=DECIMAL}, #{samplingQtyRemark}, #{samplingQtyActive}, #{samplingQtyDesc}, getDate(), #{createBy}, getDate(), #{updateBy})
</insert>
<!-- 根据样本量字码查询样本量 -->
<select id="selectSamplingQtyByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
SELECT
site,
bu_no,
sampling_qty_no,
sampling_qty_desc,
sampling_qty,
sampling_qty_remark,
sampling_qty_active
FROM qc_sampling_inspection_qty
WHERE sampling_qty_desc = #{samplingQtyDesc} AND site = #{site} and bu_no = #{buNo}
</select>
<!-- 获取最大样本量编码 -->
<select id="queryLastSamplingQtyNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
SELECT top 1 sampling_qty_no
FROM qc_sampling_inspection_qty
where site = #{site} and bu_no = #{buNo}
ORDER BY sampling_qty_no Desc
</select>
<!-- 修改样本量 -->
<update id="samplingQtyUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
UPDATE qc_sampling_inspection_qty
SET sampling_qty = #{samplingQty,jdbcType=DECIMAL},
sampling_qty_desc = #{samplingQtyDesc},
sampling_qty_remark = #{samplingQtyRemark},
sampling_qty_active = #{samplingQtyActive},
update_date = getDate(),
update_by = #{updateBy}
WHERE sampling_qty_no = #{samplingQtyNo} AND site = #{site} and bu_no = #{buNo}
</update>
<!-- 根据样本量编码查询矩阵 -->
<select id="selectSamplingPlanBySamplingQtyNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
SELECT
site,
sampling_plan_no,
sampling_qty_no,
sampling_qty_rank_no,
sampling_level_no,
sampling_plan_active
FROM qc_sampling_inspection_plan
WHERE site = #{site} AND sampling_qty_no = #{samplingQtyNo} and bu_no = #{buNo}
</select>
<!-- 删除样本量 -->
<delete id="samplingQtyDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyData">
DELETE FROM qc_sampling_inspection_qty
WHERE site = #{site} AND sampling_qty_no = #{samplingQtyNo} AND sampling_qty_desc = #{samplingQtyDesc} and bu_no = #{buNo}
</delete>
<!-- ================================================= 批量级次维护 ================================================= -->
<!-- 查询批量级次 -->
<select id="samplingQtyRankSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
SELECT
site,
bu_no,
sampling_qty_rank_no,
sampling_qty_rank_desc,
min_qty,
max_qty,
sampling_qty_rank_active,
case when sampling_qty_rank_active = 'Y' then '是' when sampling_qty_rank_active = 'N' then '否' else '' end as samplingQtyRankActiveDesc,
sampling_qty_rank_Remark,
create_date,
create_by,
dbo.getOperatorDesc(site, create_by) as createByDesc,
update_date,
update_by,
dbo.getOperatorDesc(site, update_by) as updateByDesc
FROM qc_sampling_inspection_qty_rank
<where>
<if test="query.site != null and query.site != ''">
AND site = #{query.site}
</if>
<if test="query.samplingQtyRankNo != null and query.samplingQtyRankNo != ''">
AND sampling_qty_rank_no LIKE '%' + #{query.samplingQtyRankNo}+'%'
</if>
<if test="query.samplingQtyRankDesc != null and query.samplingQtyRankDesc != ''">
AND sampling_qty_rank_desc LIKE '%' + #{query.samplingQtyRankDesc}+'%'
</if>
<if test="query.samplingQtyRankActive != null and query.samplingQtyRankActive != ''">
AND sampling_qty_rank_active = #{query.samplingQtyRankActive}
</if>
</where>
</select>
<!-- 根据名称查询批量级次 -->
<select id="selectSamplingQtyRankByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData" resultType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
SELECT
site,
bu_no,
sampling_qty_rank_no,
sampling_qty_rank_desc,
min_qty,
max_qty,
sampling_qty_rank_active,
sampling_qty_rank_Remark
FROM qc_sampling_inspection_qty_rank
WHERE sampling_qty_rank_desc = #{samplingQtyRankDesc} AND site = #{site} and bu_no = #{buNo}
</select>
<!-- 获取最大批量级次编码 -->
<select id="queryLastSamplingQtyRankNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
SELECT top 1 sampling_qty_rank_no
FROM qc_sampling_inspection_qty_rank
where site = #{site} and bu_no = #{buNo}
ORDER BY sampling_qty_rank_no Desc
</select>
<!-- 新增批量级次 -->
<insert id="samplingQtyRankSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
INSERT INTO qc_sampling_inspection_qty_rank (site, bu_no, sampling_qty_rank_no, sampling_qty_rank_desc, min_qty, max_qty, sampling_qty_rank_Remark, sampling_qty_rank_active, create_date, create_by, update_date, update_by)
VALUES(#{site}, #{buNo}, #{samplingQtyRankNo}, #{samplingQtyRankDesc}, #{minQty,jdbcType=DECIMAL}, #{maxQty,jdbcType=DECIMAL}, #{samplingQtyRankRemark}, #{samplingQtyRankActive}, getDate(), #{createBy}, getDate(), #{updateBy})
</insert>
<!-- 根据批量级次编码查询矩阵 -->
<select id="selectSamplingPlanBySamplingQtyRankNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
SELECT
site,
bu_no,
sampling_plan_no,
sampling_qty_no,
sampling_qty_rank_no,
sampling_level_no,
sampling_plan_active
FROM qc_sampling_inspection_plan
WHERE site = #{site} AND sampling_qty_rank_no = #{samplingQtyRankNo} and bu_no = #{buNo}
</select>
<!-- 修改批量级次 -->
<update id="samplingQtyRankUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
UPDATE qc_sampling_inspection_qty_rank
SET sampling_qty_rank_desc = #{samplingQtyRankDesc},
min_qty = #{minQty,jdbcType=DECIMAL},
max_qty = #{maxQty,jdbcType=DECIMAL},
sampling_qty_rank_Remark = #{samplingQtyRankRemark},
sampling_qty_rank_active = #{samplingQtyRankActive},
update_date = getDate(),
update_by = #{updateBy}
WHERE sampling_qty_rank_no = #{samplingQtyRankNo} AND site = #{site} and bu_no = #{buNo}
</update>
<!-- 删除批量级次 -->
<delete id="samplingQtyRankDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionQtyRankData">
DELETE FROM qc_sampling_inspection_qty_rank
WHERE site = #{site} and bu_no = #{buNo}
AND sampling_qty_rank_no = #{samplingQtyRankNo}
AND sampling_qty_rank_desc = #{samplingQtyRankDesc}
</delete>
<!-- ================================================= 检验等级维护 ================================================= -->
<!-- 查询检验等级 -->
<select id="samplingLevelSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData" resultType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
SELECT
site,
bu_no,
sampling_level_no,
sampling_level_desc,
sampling_level_remark,
sampling_level_active,
case when sampling_level_active = 'Y' then '是' when sampling_level_active = 'N' then '否' else '' end as samplingLevelActiveDesc,
create_date,
create_by,
dbo.getOperatorDesc(site, create_by) as createByDesc,
update_date,
update_by,
dbo.getOperatorDesc(site, update_by) as updateByDesc
FROM qc_sampling_inspection_level
<where>
<if test="query.site != null and query.site != ''">
AND site = #{query.site}
</if>
<if test="query.samplingLevelNo != null and query.samplingLevelNo != ''">
AND sampling_level_no LIKE '%' + #{query.samplingLevelNo}+'%'
</if>
<if test="query.samplingLevelDesc != null and query.samplingLevelDesc != ''">
AND sampling_level_desc LIKE '%' + #{query.samplingLevelDesc}+'%'
</if>
<if test="query.samplingLevelActive != null and query.samplingLevelActive != ''">
AND sampling_level_active = #{query.samplingLevelActive}
</if>
</where>
</select>
<!-- 根据名称查询检验等级 -->
<select id="selectSamplingLevelByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData" resultType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
SELECT
site,
bu_no,
sampling_level_no,
sampling_level_desc,
sampling_level_remark,
sampling_level_active
FROM qc_sampling_inspection_level
WHERE sampling_level_desc = #{samplingLevelDesc} AND site = #{site} and bu_no = #{buNo}
</select>
<!-- 获取最大检验等级编码 -->
<select id="queryLastSamplingLevelNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
SELECT top 1 sampling_level_no
FROM qc_sampling_inspection_level
where site = #{site} and bu_no = #{buNo}
ORDER BY sampling_level_no Desc
</select>
<!-- 新增检验等级 -->
<insert id="samplingLevelSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
INSERT INTO qc_sampling_inspection_level (site, bu_no, sampling_level_no, sampling_level_desc, sampling_level_remark, sampling_level_active, create_date, create_by, update_date, update_by)
VALUES (#{site}, #{buNo}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingLevelRemark}, #{samplingLevelActive}, getDate(), #{createBy}, getDate(), #{updateBy})
</insert>
<!-- 根据检验等级编码查询矩阵 -->
<select id="selectSamplingPlanBySamplingLevelNo" resultType="com.heai.modules.pms.data.QcSamplingInspectionPlanData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
SELECT
site,
bu_no,
sampling_plan_no,
sampling_qty_no,
sampling_qty_rank_no,
sampling_level_no,
sampling_plan_active
FROM qc_sampling_inspection_plan
WHERE site = #{site} and bu_no = #{buNo}
AND sampling_level_no = #{samplingLevelNo}
</select>
<!-- 修改检验等级 -->
<update id="samplingLevelUpdate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
UPDATE qc_sampling_inspection_level
SET sampling_level_desc = #{samplingLevelDesc},
sampling_level_remark = #{samplingLevelRemark},
sampling_level_active = #{samplingLevelActive},
update_date = getDate(),
update_by = #{updateBy}
WHERE sampling_level_no = #{samplingLevelNo}
AND site = #{site} and bu_no = #{buNo}
</update>
<!-- 删除检验等级 -->
<delete id="samplingLevelDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionLevelData">
DELETE FROM qc_sampling_inspection_level
WHERE site = #{site} and bu_no = #{buNo}
AND sampling_level_no = #{samplingLevelNo}
AND sampling_level_desc = #{samplingLevelDesc}
</delete>
<!-- ================================================= 物料属性设置维护 ================================================= -->
<!-- 查询物料属性 -->
<select id="qcPartAttributeSearch" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
SELECT
qa.site,
qa.bu_no,
p.PartNo as partNo,
p.PartDescription as partDesc,
p.cinv_source_code as cinvSourceCode,
p.sku as sku,
p.FamilyID,
p.invtype as familyName,
p.spec,
p.umid,
qa.supplier_no,
dbo.qc_get_supplier_name(qa.site, qa.supplier_no) as supplierDesc,
qa.attribute_remark,
qa.create_time,
qa.create_by,
dbo.getOperatorDesc(qa.site, qa.create_by) as createByDesc,
qa.attribute_type,
qa.update_date,
qa.update_by,
dbo.getOperatorDesc(qa.site, qa.update_by) as updateByDesc,
qa.exempt_inspection,
qa.iqc_exempt as iqcExempt,
qa.fai_exempt as faiExempt,
qa.ipqc_exempt as ipqcExempt,
qa.pqc_exempt as pqcExempt,
qa.fqc_exempt as fqcExempt,
qa.oqc_exempt as oqcExempt,
qa.sqc_exempt as sqcExempt,
qa.First_IPQC_Patrol_time as firstIPQCPatrolTime,
qa.Last_IPQC_Patrol_time as lastIPQCPatrolTime,
qa.Cycle_IPQC_Patrol_time as cycleIPQCPatrolTime,
qa.defaultValue,
qa.standardValue,
qa.maxValue,
qa.minValue
FROM qc_part_attribute qa
LEFT JOIN part p on qa.attribute_no = p.PartNo and qa.site = p.site
<where>
and qa.attribute_type = #{query.attributeType}
<if test = "query.partNo != null and query.partNo != ''">
AND qa.attribute_no LIKE '%' + #{query.partNo}+'%'
</if>
<if test = "query.partDesc != null and query.partDesc != ''">
AND p.PartDescription LIKE '%' + #{query.partDesc}+'%'
</if>
<if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
AND p.cinv_source_code LIKE '%' + #{query.cinvSourceCode}+'%'
</if>
<if test = "query.sku != null and query.sku != ''">
AND p.sku LIKE '%' + #{query.sku}+'%'
</if>
<if test = "query.familyName != null and query.familyName != ''">
AND p.invtype LIKE '%' + #{query.familyName}+'%'
</if>
</where>
</select>
<!-- 查询是否已有该物料属性 -->
<select id="selectPartAttributeByNo" resultType="com.heai.modules.pms.data.QcPartAttributeData" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
SELECT
attribute_no,
supplier_no,
attribute_remark,
attribute_type
FROM qc_part_attribute
WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
</select>
<!-- 新增物料属性 -->
<insert id="qcPartAttributeSave" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
INSERT INTO qc_part_attribute (attribute_no, supplier_no, attribute_remark, create_time, create_by, attribute_type, site, exempt_inspection, iqc_exempt, fai_exempt, ipqc_exempt, pqc_exempt, fqc_exempt, oqc_exempt, sqc_exempt, bu_no,First_IPQC_Patrol_time,Last_IPQC_Patrol_time,Cycle_IPQC_Patrol_time,defaultValue,standardValue,maxValue,minValue)
VALUES(#{partNo}, #{supplierNo}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType}, #{site}, #{exemptInspection}, #{iqcExempt}, #{faiExempt}, #{ipqcExempt}, #{pqcExempt}, #{fqcExempt}, #{oqcExempt}, #{sqcExempt}, #{buNo},#{firstIPQCPatrolTime},#{lastIPQCPatrolTime},#{cycleIPQCPatrolTime},#{defaultValue},#{standardValue},#{maxValue},#{minValue})
</insert>
<!-- 物料属性修改 -->
<update id="qcPartAttributeEdit" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
UPDATE qc_part_attribute
SET attribute_remark = #{attributeRemark},
exempt_inspection = #{exemptInspection},
iqc_exempt = #{iqcExempt},
fai_exempt = #{faiExempt},
ipqc_exempt = #{ipqcExempt},
pqc_exempt = #{pqcExempt},
fqc_exempt = #{fqcExempt},
oqc_exempt = #{oqcExempt},
sqc_exempt = #{sqcExempt},
update_date = getDate(),
update_by = #{updateBy},
defaultValue = #{defaultValue},
standardValue = #{standardValue},
maxValue = #{maxValue},
minValue = #{minValue},
First_IPQC_Patrol_time = #{firstIPQCPatrolTime},
Last_IPQC_Patrol_time = #{lastIPQCPatrolTime},
Cycle_IPQC_Patrol_time = #{cycleIPQCPatrolTime}
WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
</update>
<!-- 删除物料属性 -->
<delete id="qcPartAttributeDelete" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
DELETE FROM qc_part_attribute
WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{partNo} and attribute_type = #{attributeType}
</delete>
<!-- 删除物料属性模板 -->
<delete id="deletePartAttributeTemplate" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
DELETE FROM qc_attribute_template
WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{partNo} and attribute_type = #{attributeType}
</delete>
<!-- 查询类别模板 -->
<select id="searchPartAttributeDetails" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
SELECT
qat.site,
qat.bu_no,
qpa.attribute_no,
qpa.attribute_type,
qt.template_id,
qt.template_name,
qt.template_remark,
qt.template_version,
qat.sampling_programme_no,
qsip.sampling_programme_desc,
qat.AQL,
qat.AC,
qat.RE,
qt.inspection_type_no,
qit.inspection_type_name,
qt.default_sampling_quantity,
qt.default_sampling_proportion,
qat.sampling_level_no,
qsil.sampling_level_desc,
qat.inspection_cycle,
qat.operation,
qat.manufacturer_id,
dbo.qc_get_supplier_name(qat.site, qat.manufacturer_id) as manufacturerName,
qat.resource_id
FROM qc_attribute_template as qat
LEFT JOIN qc_part_attribute as qpa ON qpa.attribute_no = qat.attribute_no and qat.site = qpa.site and qat.bu_no = qpa.bu_no
LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id and qat.site = qt.site and qat.bu_no = qt.bu_no
LEFT JOIN qc_sampling_inspection_level as qsil ON qat.sampling_level_no = qsil.sampling_level_no and qat.site = qsil.site and qat.bu_no = qsil.bu_no
LEFT JOIN qc_inspection_type as qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
LEFT JOIN qc_sampling_inspection_programme as qsip ON qat.sampling_programme_no = qsip.sampling_programme_no and qat.site = qsip.site and qat.bu_no = qsip.bu_no
<where>
qat.site = #{site} and qpa.attribute_type = #{attributeType} and qpa.attribute_no = #{attributeNo} and qat.bu_no = #{buNo}
<if test="inspectionTypeNo !=null and inspectionTypeNo != ''">
and qt.inspection_type_no = #{inspectionTypeNo}
</if>
<if test="operation !=null and operation != ''">
and qat.operation = #{operation}
</if>
</where>
</select>
<!-- 物料属性模板查重 -->
<select id="searchPartRepeat" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
SELECT
attribute_no,
template_id
FROM qc_attribute_template
WHERE attribute_no = #{attributeNo}
AND template_id = #{templateId}
AND attribute_type = #{attributeType}
AND special_field = #{specialField}
</select>
<!-- 新增物料属性模板 -->
<insert id="savePartAttributeDetails" parameterType="com.heai.modules.pms.data.QcTemplateData">
INSERT INTO qc_attribute_template
(attribute_no, template_id, sampling_level_no, inspection_cycle, sampling_programme_no, AQL, AC, RE,
attribute_type, operation, manufacturer_id, resource_id, site, bu_no, inspection_type_no)
VALUES
(#{attributeNo}, #{templateId}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{samplingProgrammeNo}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL},
#{attributeType}, #{operation}, #{manufacturerID}, #{resourceID}, #{site}, #{buNo}, #{inspectionTypeNo})
</insert>
<!-- 可选模板 -->
<select id="getTemplateList" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
SELECT
qt.template_id,
qt.template_name,
qit.inspection_type_name
FROM qc_template as qt
LEFT JOIN qc_attribute_template as qat ON qat.template_id = qt.template_id and qat.attribute_no = #{attributeNo}
LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no
<where>
qt.site = #{site}
AND qat.attribute_no is null
<if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
AND qt.inspection_type_no = #{inspectionTypeNo}
</if>
<if test = "templateId != null and templateId != ''">
AND qt.template_id LIKE '%' + #{templateId}+'%'
</if>
<if test = "templateName != null and templateName != ''">
AND qt.template_name LIKE '%' + #{templateName}+'%'
</if>
</where>
</select>
<!-- 已有模板 -->
<select id="getPartTemplateList" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
SELECT
qt.template_id,
qt.template_name,
qit.inspection_type_name,
qat.operation,
qat.manufacturer_id,
dbo.qc_get_supplier_name(qt.site, qat.manufacturer_id) as manufacturerName,
qat.resource_id
FROM qc_attribute_template as qat
LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id and qat.site = qt.site and qat.bu_no = qt.bu_no
LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
WHERE qt.site = #{site} AND qat.attribute_no = #{attributeNo} and qt.bu_no = #{buNo}
</select>
<!-- 物料可选模板 -->
<select id="getTemplateListAll" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
SELECT
qt.template_id,
qt.template_name,
qit.inspection_type_name
FROM qc_template as qt
LEFT JOIN qc_inspection_type AS qit ON qt.inspection_type_no = qit.inspection_type_no and qt.site = qit.site
<where>
qt.site = #{site} and qt.bu_no = #{buNo}
<if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
AND qt.inspection_type_no = #{inspectionTypeNo}
</if>
<if test = "templateId != null and templateId != ''">
AND qt.template_id LIKE '%' + #{templateId}+'%'
</if>
<if test = "templateName != null and templateName != ''">
AND qt.template_name LIKE '%' + #{templateName}+'%'
</if>
</where>
</select>
<!-- 删除物料属性模板 -->
<delete id="deletePartAttributeDetails" parameterType="com.heai.modules.pms.data.QcTemplateData">
DELETE FROM qc_attribute_template
<where>
site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and template_id = #{templateId} and attribute_type = #{attributeType}
<if test = "operation != null and operation != ''">
and operation = #{operation}
</if>
<if test = "resourceID != null and resourceID != ''">
and resource_id = #{resourceID}
</if>
<if test = "manufacturerID != null and manufacturerID != ''">
and manufacturer_id = #{manufacturerID}
</if>
</where>
</delete>
<!-- 查询模板的基础数据 -->
<select id="selectTemplateData" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
SELECT
template_id,
template_name,
sampling_programme_no,
sampling_level_no,
inspection_cycle,
AQL,
AC,
RE,
inspection_type_no
FROM qc_template
WHERE site = #{site} AND template_id = #{templateId} and bu_no = #{buNo}
</select>
<!-- 新增物料属性模板详情 -->
<update id="saveAttributeDetailed" parameterType="com.heai.modules.pms.data.QcTemplateData">
UPDATE qc_attribute_template
SET sampling_level_no = #{samplingLevelNo},
inspection_cycle = #{inspectionCycle,jdbcType=DECIMAL},
sampling_programme_no = #{samplingProgrammeNo},
AQL = #{aql,jdbcType=DECIMAL},
AC = #{ac,jdbcType=DECIMAL},
RE = #{re,jdbcType=DECIMAL}
<where>
site = #{site} and attribute_no = #{attributeNo} AND template_id = #{templateId} AND attribute_type = #{attributeType} and bu_no = #{buNo}
<if test = "operation != null and operation != ''">
AND operation = #{operation}
</if>
<if test = "resourceID != null and resourceID != ''">
AND resource_id = #{resourceID}
</if>
<if test = "manufacturerID != null and manufacturerID != ''">
AND manufacturer_id = #{manufacturerID}
</if>
</where>
</update>
<!-- 更新物料属性修改时间 -->
<update id="updatePartAttributeTime" parameterType="com.heai.modules.pms.data.QcTemplateData">
UPDATE qc_part_attribute
SET update_date = getDate(),
update_by = #{updateBy}
WHERE site = #{site} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and bu_no = #{buNo}
</update>
<!-- ================================================= 类别属性设置维护 ================================================= -->
<!-- 查询类别属性 -->
<select id="qcFamilyAttributeSearch" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
SELECT
qa.site,
qa.bu_no,
qa.attribute_no as familyID,
pf.FamilyName,
qa.supplier_no,
qa.attribute_remark,
qa.create_time,
qa.create_by,
qa.update_date,
qa.update_by,
qa.attribute_type
FROM qc_part_attribute as qa
LEFT JOIN PartFamily as pf on qa.attribute_no = pf.FamilyID and qa.site = pf.site
<where>
and qa.attribute_type = #{query.attributeType}
<if test="query.site != null and query.site != ''">
AND site = #{query.site}
</if>
<if test = "query.familyID != null and query.familyID != ''">
AND qa.attribute_no LIKE '%' + #{query.familyID}+'%'
</if>
<if test = "query.familyName != null and query.familyName != ''">
AND pf.FamilyName LIKE '%' + #{query.familyName}+'%'
</if>
</where>
</select>
<!-- 新增类别属性 -->
<insert id="qcFamilyAttributeSave" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
INSERT INTO qc_part_attribute (attribute_no, attribute_remark, create_time, create_by, attribute_type, site, bu_no)
VALUES(#{familyID}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType}, #{site}, #{buNo})
</insert>
<!-- 删除分类属性 -->
<delete id="qcFamilyAttributeDelete" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
DELETE FROM qc_part_attribute
WHERE site = #{site} and attribute_no = #{familyID} and attribute_type = #{attributeType} and bu_no = #{buNo}
</delete>
<!-- 删除分类属性模板 -->
<delete id="deleteFamilyAttributeTemplate" parameterType="com.heai.modules.pms.data.QcPartAttributeData">
DELETE FROM qc_attribute_template
WHERE site = #{site} and attribute_no = #{familyID} and attribute_type = #{attributeType} and bu_no = #{buNo}
</delete>
<!-- ================================================= 抽样方案维护 ================================================= -->
<!-- 查询类别属性 -->
<select id="samplingProgrammeSearch" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
SELECT
site,
bu_no,
sampling_programme_no,
sampling_programme_desc,
sampling_programme_code,
create_time,
create_by,
dbo.getOperatorDesc(site, create_by) as createByDesc,
update_date,
update_by,
dbo.getOperatorDesc(site, update_by) as updateByDesc
FROM qc_sampling_inspection_programme
<where>
<if test="query.site != null and query.site != ''">
AND site = #{query.site}
</if>
<if test = "query.samplingProgrammeNo != null and query.samplingProgrammeNo != ''">
AND sampling_programme_no LIKE '%' + #{query.samplingProgrammeNo}+'%'
</if>
<if test = "query.samplingProgrammeCode != null and query.samplingProgrammeCode != ''">
AND sampling_programme_code LIKE '%' + #{query.samplingProgrammeCode}+'%'
</if>
<if test = "query.samplingProgrammeDesc != null and query.samplingProgrammeDesc != ''">
AND sampling_programme_desc LIKE '%' + #{query.samplingProgrammeDesc}+'%'
</if>
</where>
</select>
<!-- 新增抽样方案 -->
<insert id="samplingProgrammeSave" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
INSERT INTO qc_sampling_inspection_programme (site, bu_no, sampling_programme_no, sampling_programme_desc, sampling_programme_code, create_time, create_by, update_date, update_by)
VALUES(#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{samplingProgrammeCode}, getDate(), #{createBy}, getDate(), #{updateBy})
</insert>
<!-- 删除抽样方案 -->
<delete id="samplingProgrammeDelete" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
DELETE FROM qc_sampling_inspection_programme
WHERE site = #{site} and bu_no = #{buNo}
AND sampling_programme_no = #{samplingProgrammeNo}
</delete>
<!-- 删除抽样方案中的矩阵 -->
<delete id="deletePlanByProgrammeNo" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
DELETE FROM qc_programme_plan
WHERE sampling_programme_no = #{samplingProgrammeNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 根据名称查询抽样方案 -->
<select id="selectSamplingProgrammeByDesc" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
SELECT
site,
bu_no,
sampling_programme_no,
sampling_programme_desc
FROM qc_sampling_inspection_programme
WHERE sampling_programme_desc = #{samplingProgrammeDesc} AND site = #{site} and bu_no = #{buNo}
</select>
<!-- 获取最大抽样方案编码 -->
<select id="queryLastSamplingProgrammeNo" resultType="string" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
SELECT top 1 sampling_programme_no
FROM qc_sampling_inspection_programme
where site = #{site} and bu_no = #{buNo}
ORDER BY sampling_programme_no Desc
</select>
<!-- 搜索抽样方案中的矩阵 -->
<select id="searchSamplingProgrammeDetails" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
SELECT
qpp.site,
qpp.bu_no,
qpp.sampling_programme_no,
qsip.sampling_plan_no,
qsip.sampling_plan_Desc,
qsip.sampling_qty_no,
qsiq.sampling_qty_desc,
qsiq.sampling_qty,
qsip.sampling_qty_rank_no,
qsiqr.sampling_qty_rank_desc,
qsiqr.min_qty,
qsiqr.max_qty,
qsip.sampling_level_no,
qsil.sampling_level_desc,
qsip.sampling_plan_active
FROM qc_programme_plan as qpp
LEFT JOIN qc_sampling_inspection_plan as qsip on qpp.sampling_plan_no = qsip.sampling_plan_no and qpp.site = qsip.site and qpp.bu_no = qsip.bu_no
LEFT JOIN qc_sampling_inspection_qty as qsiq on qsip.sampling_qty_no = qsiq.sampling_qty_no and qsip.site = qsiq.site and qsip.bu_no = qsiq.bu_no
LEFT JOIN qc_sampling_inspection_qty_rank as qsiqr on qsip.sampling_qty_rank_no = qsiqr.sampling_qty_rank_no and qsip.site = qsiqr.site and qsip.bu_no = qsiqr.bu_no
LEFT JOIN qc_sampling_inspection_level as qsil on qsip.sampling_level_no = qsil.sampling_level_no and qsip.site = qsil.site and qsip.bu_no = qsil.bu_no
WHERE qpp.sampling_programme_no = #{samplingProgrammeNo} and qpp.site = #{site} and qpp.bu_no = #{buNo}
</select>
<!-- 获取该方案不包含的矩阵 -->
<select id="getPlanList" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
SELECT
qip.sampling_plan_no,
qip.sampling_plan_desc
FROM qc_sampling_inspection_plan as qip
LEFT JOIN qc_programme_plan as qpp ON qpp.sampling_plan_no = qip.sampling_plan_no and qpp.sampling_programme_no = #{samplingProgrammeNo} and qpp.site = qip.site and qpp.bu_no = qip.bu_no
WHERE qip.site = #{site} and qip.bu_no = #{buNo} AND qpp.sampling_programme_no is null
</select>
<!-- 获取当前方案所包含的矩阵 -->
<select id="getProgrammePlanList" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
SELECT
qip.sampling_plan_no,
qip.sampling_plan_desc
FROM qc_programme_plan as qpp
LEFT JOIN qc_sampling_inspection_plan as qip ON qpp.sampling_plan_no = qip.sampling_plan_no and qpp.site = qip.site and qpp.bu_no = qip.bu_no
WHERE qip.site = #{site} and qip.bu_no = #{buNo} AND qpp.sampling_programme_no = #{samplingProgrammeNo}
</select>
<!-- 查重 -->
<select id="searchPlanRepeat" resultType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
SELECT
sampling_plan_no,
sampling_programme_no
FROM qc_programme_plan
WHERE sampling_programme_no = #{samplingProgrammeNo} AND sampling_plan_no = #{samplingPlanNo} and site = #{site} and bu_no = #{buNo}
</select>
<!-- 新增抽样方案中的矩阵 -->
<insert id="saveSamplingProgrammeDetails" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
INSERT INTO qc_programme_plan (site, bu_no, sampling_programme_no, sampling_plan_no)
VALUES (#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingPlanNo})
</insert>
<!-- 更新抽样方案修改时间 -->
<update id="updateSamplingInspectionProgrammeDate" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
UPDATE qc_sampling_inspection_programme
SET update_date = getDate(),
update_by = #{updateBy}
WHERE site = #{site} AND sampling_programme_no = #{samplingProgrammeNo} and bu_no = #{buNo}
</update>
<!-- 删除抽样方案中的矩阵 -->
<delete id="deleteSamplingProgrammeDetails" parameterType="com.heai.modules.pms.data.QcSamplingInspectionProgrammeData">
DELETE FROM qc_programme_plan
WHERE sampling_programme_no = #{samplingProgrammeNo} and sampling_plan_no = #{samplingPlanNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- ================================================= FAI检验维护 ================================================= -->
<!-- 查询FAI基础数据 -->
<select id="selectFAIBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
top 1
a.orderno as orderNo,
j.part_no,
j.part_desc,
c.operation_desc,
b.approve_qty as rollQty,
a.s_resourceid as resourceId,
DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
a.itemno as itemNo,
a.id as ssrId
FROM soscheduledrouting as a
LEFT JOIN sfdc as b
ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
select min(sfdc.id)
from sfdc
group by sfdc.assjob_seq_no, site
)
LEFT JOIN so_routing as c
ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
LEFT JOIN part j
ON a.site = j.site and a.part_no = j.part_no
WHERE a.itemno = '10'
AND a.id not in (select ssr_id from qc_fai_record)
AND b.approve_qty is not null
ORDER BY a.id desc
</select>
<!-- 获取该物料属性下维护的iqc -->
<select id="selectPartAttributeByPartNo" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
qat.site,
qat.bu_no,
qat.attribute_no,
qat.template_id,
qat.sampling_level_no,
qsil.sampling_level_desc,
qat.inspection_cycle,
qat.sampling_programme_no,
qsip.sampling_programme_desc,
qat.AQL,
qat.AC,
qat.RE,
qt.default_sampling_quantity,
qt.default_sampling_proportion
FROM qc_attribute_template as qat
LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id and qat.site = qt.site and qat.bu_no = qt.bu_no
LEFT JOIN qc_sampling_inspection_level as qsil ON qat.sampling_level_no = qsil.sampling_level_no and qat.site = qsil.site and qat.bu_no = qsil.bu_no
LEFT JOIN qc_sampling_inspection_programme as qsip ON qat.sampling_programme_no = qsip.sampling_programme_no and qat.site = qsip.site and qat.bu_no = qsip.bu_no
WHERE qat.site = #{site} and qat.bu_no = #{buNo}
AND qat.attribute_no = #{partNo}
AND qat.attribute_type = #{attributeType}
AND qt.inspection_type_no = #{inspectionTypeNo}
AND qat.manufacturer_id = #{supplierNo}
</select>
<!-- 获取该物料属性下维护的ipqc -->
<select id="selectPartAttributeByOperationAndResource" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
qat.site,
qat.bu_no,
qat.attribute_no,
qat.template_id,
qat.sampling_level_no,
qsil.sampling_level_desc,
qat.inspection_cycle,
qat.sampling_programme_no,
qsip.sampling_programme_desc,
qat.AQL,
qat.AC,
qat.RE,
qt.default_sampling_quantity,
qt.default_sampling_proportion
FROM qc_attribute_template as qat
LEFT JOIN qc_template as qt ON qat.template_id = qt.template_id and qat.site = qt.site and qat.bu_no = qt.bu_no
LEFT JOIN qc_sampling_inspection_level as qsil ON qat.sampling_level_no = qsil.sampling_level_no and qat.site = qsil.site and qat.bu_no = qsil.bu_no
LEFT JOIN qc_sampling_inspection_programme as qsip ON qat.sampling_programme_no = qsip.sampling_programme_no and qat.site = qsip.site and qat.bu_no = qsip.bu_no
WHERE qat.site = #{site} and qat.bu_no = #{buNo}
AND qat.attribute_no = #{partNo}
AND qat.attribute_type = #{attributeType1}
AND qt.inspection_type_no = #{inspectionTypeNo}
AND qat.operation = #{operationDesc}
AND qat.resource_id = #{resourceId}
</select>
<!-- 获取模板详情 -->
<select id="selectTemplate" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
qt.site,
qt.bu_no,
qt.template_id,
qt.sampling_level_no,
qsil.sampling_level_desc,
qt.inspection_cycle,
qt.sampling_programme_no,
qsip.sampling_programme_desc,
qt.AQL,
qt.AC,
qt.RE,
qt.default_sampling_quantity,
qt.default_sampling_proportion
FROM qc_template as qt
LEFT JOIN qc_sampling_inspection_level as qsil ON qt.sampling_level_no = qsil.sampling_level_no and qt.site = qsil.site and qt.bu_no = qsil.bu_no
LEFT JOIN qc_sampling_inspection_programme as qsip ON qt.sampling_programme_no = qsip.sampling_programme_no and qt.site = qsip.site and qt.bu_no = qsip.bu_no
WHERE qt.site = #{site} and qt.template_id = #{templateId} and qt.bu_no = #{buNo}
</select>
<select id="selectTemplateByPartNo" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
DISTINCT
B.TransNo,B.Site,
B.ItemNo,
B.FromOpsID,
B.FromWorkCenterNo,
B.ToWorkCenterNo,
B.ToOpsID,
B.OrderNo,
B.PartNo,
B.TransQty,
B.ConfirmQty,
B.TaskNo,
B.InsStatus,
B.ToConfirmQty,
B.seqNo,
A.FromProLineNo,
A.ToProLineNo,
A.ToWarehouseID,
A.FromEnteredby,
A.FromEnteredDate,
A.TransDate,
A.ToReceiver,
A.FromReceiver,
A.FromRemark,
A.ToRemark,
A.ConfirmedFlag,
A.ToConfirmedBy,
A.ToEnteredby,
A.ToEnteredDate,
A.LatestUpdatedBy,
A.LatestUpdatedDate,
A.RecordVersion,
A.Status,
A.ToTypeFlag_DB,
A.ToTypeFlag,
A.ConfirmedTransNo,
A.need_inspect_flag,
A.inspected_flag,
A.inspect_result,
A.inspect_remark,
A.NeedReceiveFlag,
qt.site,
qt.bu_no,
qt.template_id,
qt.sampling_level_no,
qsil.sampling_level_desc,
qt.inspection_cycle,
qt.sampling_programme_no,
qsip.sampling_programme_desc,
qt.AQL,
qt.AC,
qt.RE,
qt.default_sampling_quantity,
qt.default_sampling_proportion
FROM SOOpsTransferHeader A
INNER JOIN SOOpsTransferDetail B ON A.Site = B.SITE AND A.TransNo = B.TransNo
INNER JOIN part D ON D.SITE = B.Site AND D.PartNo = B.PartNo
INNER JOIN qc_attribute_template e on D.SITE = e.site and e.attribute_no = D.PartNo
INNER JOIN qc_template as qt ON D.SITE = qt.site AND e.template_id = qt.template_id
LEFT JOIN qc_sampling_inspection_level as qsil ON qt.sampling_level_no = qsil.sampling_level_no and qt.site = qsil.site and qt.bu_no = qsil.bu_no
LEFT JOIN qc_sampling_inspection_programme as qsip ON qt.sampling_programme_no = qsip.sampling_programme_no and qt.site = qsip.site and qt.bu_no = qsip.bu_no
WHERE A.SITE = #{site} AND qt.bu_no = #{buNo} AND B.TransNo = #{refInfo1} AND B.ItemNo = #{refInfo2}
</select>
<!-- 新增FAI主记录信息 -->
<insert id="saveFAIRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_fai_record (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id)
VALUES(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId})
</insert>
<insert id="saveFAIDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_fai_detailed_record
(inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
VALUES
(#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
#{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
#{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
</insert>
<!-- 新增FAI明细记录信息 -->
<insert id="saveFAIDetailedRecords">
INSERT INTO qc_fai_detailed_record
(inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
max_value, value_type_db, value_type, site, sampling_qty, bu_no, order_id)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc},
#{item.aql,jdbcType=DECIMAL}, #{item.ac,jdbcType=DECIMAL}, #{item.re,jdbcType=DECIMAL}, #{item.itemNo}, #{item.itemDesc}, #{item.objectId}, #{item.objectDesc}, #{item.defaultValue}, #{item.minValue,jdbcType=DECIMAL},
#{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId})
</foreach>
</insert>
<!-- 查询FAI主记录信息 -->
<select id="qcFAIInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.inspection_no,
a.site,
a.bu_no,
a.state,
a.inspection_result,
a.task_date,
a.inspection_type_no,
dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) as inspectionTypeName,
a.inspection_cycle,
a.order_no,
a.operation_desc,
a.resource_id,
r.resource_desc,
a.part_no,
d.PartDescription,
d.cinv_source_code as cinvSourceCode,
d.sku as sku,
d.invdefinetype as invdefinetype,
a.inspection_remark,
a.roll_qty,
a.sampling_qty,
a.disposal_measures,
a.disposal_remark,
a.inspector_date,
a.inspector_no,
u.user_display as inspectorName,
a.ssr_id,
a.unqualified_qty,
a.submit_flag,
a.seq_no,
a.batch_roll_no,
a.special_requirements,
a.work_center_no,
a.roll_no,
a.um_id,
um.UMName as umName,
a.action_date,
a.action_by,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
a.pass_qty,
a.not_pass_qty,
a.batch_qualified_qty,
a.receipt_no,
a.receipt_item_no,
a.ref_info1,
a.ref_info2,
a.ref_info3,
a.ref_info4,
a.ref_info5
FROM qc_fai_record as a
left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.PartNo
left join sys_user as u on a.inspector_no = u.username
left join resource as r on a.site = r.site and a.resource_id = r.resource_id and a.work_center_no = r.work_center_no
left join UM as um on a.site = um.site and a.um_id = um.UMID
<where>
<if test="query.site != null and query.site != ''">
AND a.site = #{query.site}
</if>
<if test = "query.inspectionNo != null and query.inspectionNo != ''">
AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
</if>
<if test = "query.partNo != null and query.partNo != ''">
AND a.part_no LIKE '%' + #{query.partNo} + '%'
</if>
<if test = "query.partDesc != null and query.partDesc != ''">
AND d.PartDescription LIKE '%' + #{query.partDesc} + '%'
</if>
<if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
</if>
<if test = "query.sku != null and query.sku != ''">
AND d.sku LIKE '%' + #{query.sku} + '%'
</if>
<if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
</if>
<if test = "query.states != null and query.states.size > 0">
AND a.state in
<foreach item="item" collection="query.states" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test = "query.inspectionResult != null and query.inspectionResult != ''">
AND a.inspection_result = #{query.inspectionResult}
</if>
<if test = "query.orderNo != null and query.orderNo != ''">
AND a.order_no LIKE '%' + #{query.orderNo} + '%'
</if>
<if test = "query.seqNo != null and query.seqNo != ''">
AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
</if>
<if test = "query.operationDesc != null and query.operationDesc != ''">
AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
</if>
<if test="query.startDate != null">
AND a.inspector_date >= #{query.startDate}
</if>
<if test="query.endDate != null">
AND #{query.endDate} >= a.inspector_date
</if>
<if test="query.startDate2 != null">
AND a.task_date >= #{query.startDate2}
</if>
<if test="query.endDate2 != null">
AND #{query.endDate2} >= a.task_date
</if>
</where>
ORDER BY
CASE WHEN a.state = '待检验' THEN 1
WHEN a.state = '待审核' THEN 2
WHEN a.state = '已完成' THEN 3
END, a.task_date desc
</select>
<!-- 获取物料的类别编码 -->
<select id="selectFamilyIdByPartNo" parameterType="string" resultType="string">
SELECT FamilyID
FROM part
WHERE part_no = #{partNo} AND site = #{site}
</select>
<!-- FAI明细记录查询 -->
<select id="faiDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.site,
a.bu_no,
a.inspection_no,
a.order_no,
a.template_id,
a.sampling_level_no,
a.sampling_level_desc,
a.sampling_programme_no,
a.sampling_programme_desc,
a.AQL,
a.AC,
a.RE,
a.item_no,
a.item_desc,
a.object_id,
a.object_desc,
a.default_value,
a.min_value,
a.max_value,
a.text_value,
a.number_value,
a.value_type_db,
a.value_type,
case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
a.is_submit,
isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
a.sampling_qty,
dbo.qc_get_fai_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
c.method_no,
c.method_name,
c.method_remark,
(
SELECT COUNT(*)
FROM sys_oss
WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
) AS imageDetailNum
FROM qc_fai_detailed_record as a
LEFT JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
LEFT JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
order by a.order_id
</select>
<!-- 修改FAI主记录信息 -->
<update id="updateFAIMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fai_record
SET disposal_measures = #{disposalMeasures},
disposal_remark = #{disposalRemark},
inspection_result = #{inspectionResult},
inspector_no = #{inspectorNo},
state = #{state},
inspection_remark = #{inspectionRemark},
inspector_date = getDate(),
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
roll_qty = #{rollQty,jdbcType=DECIMAL},
unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
pass_qty = #{passQty,jdbcType=DECIMAL},
not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
submit_date = getDate()
WHERE site = #{site} AND inspection_no = #{inspectionNo} and bu_no = #{buNo}
</update>
<!-- 修改FAI明细记录信息 -->
<update id="updateFAIDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fai_detailed_record
SET item_result = #{itemResult},
unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
text_value = #{textValue},
number_value = #{numberValue,jdbcType=DECIMAL}
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改子明细提交标识 -->
<update id="updateSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fai_sub_detail_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo}
</update>
<!-- 删除FAI检验记录 -->
<delete id="deleteFAIRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_fai_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 删除FAI明细记录信息 -->
<delete id="deleteFAIDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_fai_detailed_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 删除FAI子明细记录信息 -->
<delete id="deleteFAISubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_fai_sub_detail_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 修改FAI主记录标识为已提交 -->
<update id="updateFAIMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fai_record
SET submit_flag = 'Y',
state = '已完成',
submit_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改FAI明细记录标识为已提交 -->
<update id="updateFAIDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fai_detailed_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改子明细记录标识为已提交 -->
<update id="updateFAISubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fai_sub_detail_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 查询FAI检验记录是否已提交 -->
<select id="checkFAIIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT submit_flag
FROM qc_fai_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</select>
<!-- 删除子明细的老数据 -->
<delete id="delFAISubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
DELETE FROM qc_fai_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 新增FAI子明细信息 -->
<insert id="saveFAISubDetailed">
INSERT INTO qc_fai_sub_detail_record
(inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
</foreach>
</insert>
<!-- 查询FAI的子明细 -->
<select id="selectFAISubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT
site,
bu_no,
sub_detail_value,
sampling_location,
is_submit,
sampling_location_b,
num,
sub_detail_value_b,
sub_detail_value_c,
sub_detail_value_d,
sub_detail_value_e
FROM qc_fai_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
<if test = "collectionDataContent != null and collectionDataContent != ''">
AND sub_detail_value ${collectionDataContent}
</if>
</select>
<!-- 获取该项目的子明细值 -->
<select id="selectFAISubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT sub_detail_value,
sampling_location,
is_submit
FROM qc_fai_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
</select>
<!-- ================================================= IPQC检验维护 ================================================= -->
<!-- 查询IPQC基础数据 -->
<select id="selectIPQCBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
top 1
a.orderno as orderNo,
j.part_no,
j.part_desc,
c.operation_desc,
b.approve_qty as rollQty,
a.s_resourceid as resourceId,
DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
a.itemno as itemNo,
a.id as ssrId
FROM soscheduledrouting as a
LEFT JOIN sfdc as b
ON a.site = b.site and a.seqno = b.assjob_seq_no and b.id in (
select max(sfdc.id)
from sfdc
group by sfdc.assjob_seq_no, site
)
LEFT JOIN so_routing as c
ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
LEFT JOIN part j
ON a.site = j.site and a.part_no = j.part_no
LEFT JOIN (select ssr_id from qc_ipqc_record where check_type = '末件检') as temp
ON a.id = temp.ssr_id
WHERE b.approve_qty is not null and temp.ssr_id is null
ORDER BY a.id desc
</select>
<select id="qcExec" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="string" statementType="CALLABLE">
{CALL
getIpqcRecord(#{site,mode=IN,jdbcType=VARCHAR})
}
</select>
<insert id="saveIPQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_ipqc_detailed_record
(inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
VALUES
(#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
#{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
#{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
</insert>
<!-- 新增IPQC明细记录信息 -->
<insert id="saveIPQCDetailedRecords">
INSERT INTO qc_ipqc_detailed_record
(inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
max_value, value_type_db, value_type, site, sampling_qty, bu_no, order_id)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc},
#{item.aql,jdbcType=DECIMAL}, #{item.ac,jdbcType=DECIMAL}, #{item.re,jdbcType=DECIMAL}, #{item.itemNo}, #{item.itemDesc}, #{item.objectId}, #{item.objectDesc}, #{item.defaultValue}, #{item.minValue,jdbcType=DECIMAL},
#{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId})
</foreach>
</insert>
<!-- 新增IPQC主记录信息 -->
<insert id="saveIPQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_ipqc_record
(inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id,ref_info1,ref_info2)
VALUES
(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
#{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId},#{refInfo1},#{refInfo2})
</insert>
<insert id="saveIQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_iqc_record
(inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id,ref_info1,ref_info2)
VALUES
(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
#{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId},#{refInfo1},#{refInfo2})
</insert>
<insert id="saveSQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_sqc_record
(inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id,ref_info1,ref_info2)
VALUES
(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
#{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId},#{refInfo1},#{refInfo2})
</insert>
<!-- 查询IPQC主记录信息 -->
<select id="qcIPQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.inspection_no,
a.site,
a.bu_no,
a.state,
a.inspection_result,
a.task_date,
a.inspection_type_no,
a.inspection_cycle,
a.order_no,
a.operation_desc,
a.resource_id,
r.resource_desc,
a.part_no,
d.PartDescription as partDesc,
d.cinv_source_code as cinvSourceCode,
d.sku as sku,
d.invdefinetype as invdefinetype,
a.inspection_remark,
a.roll_qty,
a.sampling_qty,
a.disposal_measures,
a.disposal_remark,
a.inspector_date,
a.inspector_no,
u.user_display as inspectorName,
a.ssr_id,
a.unqualified_qty,
a.submit_flag,
a.seq_no,
a.batch_roll_no,
a.special_requirements,
a.work_center_no,
a.roll_no,
a.um_id,
um.UMName as umName,
a.action_date,
a.action_by,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
a.pass_qty,
a.not_pass_qty,
a.batch_qualified_qty,
a.receipt_no,
a.receipt_item_no,
a.ref_info1,
a.ref_info2,
a.ref_info3,
a.ref_info4,
a.ref_info5
FROM qc_ipqc_record as a
left join part as d on a.site = d.site and a.part_no = d.partNo
left join sys_user as u on a.inspector_no = u.username
left join resource as r on a.site = r.site and a.resource_id = r.resource_id and a.work_center_no = r.work_center_no
left join UM as um on a.site = um.site and a.um_id = um.UMID
<where>
<if test="query.site != null and query.site != ''">
AND a.site = #{query.site}
</if>
<if test = "query.inspectionNo != null and query.inspectionNo != ''">
AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
</if>
<if test = "query.partNo != null and query.partNo != ''">
AND a.part_no LIKE '%' + #{query.partNo} + '%'
</if>
<if test = "query.partDesc != null and query.partDesc != ''">
AND d.PartDescription LIKE '%' + #{query.partDesc} + '%'
</if>
<if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
</if>
<if test = "query.sku != null and query.sku != ''">
AND d.sku LIKE '%' + #{query.sku} + '%'
</if>
<if test = "query.states != null and query.states.size > 0">
AND a.state in
<foreach item="item" collection="query.states" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test = "query.inspectionTypeNo != null and query.inspectionTypeNo != ''">
AND a.inspection_type_no = #{query.inspectionTypeNo}
</if>
<if test = "query.inspectionResult != null and query.inspectionResult != ''">
AND a.inspection_result = #{query.inspectionResult}
</if>
<if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
</if>
<if test = "query.orderNo != null and query.orderNo != ''">
AND a.order_no LIKE '%' + #{query.orderNo} + '%'
</if>
<if test = "query.seqNo != null and query.seqNo != ''">
AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
</if>
<if test = "query.operationDesc != null and query.operationDesc != ''">
AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
</if>
<if test="query.startDate != null">
AND a.inspector_date >= #{query.startDate}
</if>
<if test="query.endDate != null">
AND #{query.endDate} >= a.inspector_date
</if>
<if test="query.startDate2 != null">
AND a.task_date >= #{query.startDate2}
</if>
<if test="query.endDate2 != null">
AND #{query.endDate2} >= a.task_date
</if>
</where>
ORDER BY
CASE WHEN a.state = '待检验' THEN 1
WHEN a.state = '待审核' THEN 2
WHEN a.state = '已完成' THEN 3
END, a.task_date desc
</select>
<!-- IPQC明细记录查询 -->
<select id="ipqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.site,
a.bu_no,
a.inspection_no,
a.order_no,
a.template_id,
a.sampling_level_no,
a.sampling_level_desc,
a.sampling_programme_no,
a.sampling_programme_desc,
a.AQL,
a.AC,
a.RE,
a.item_no,
a.item_desc,
a.object_id,
a.object_desc,
a.default_value,
a.min_value,
a.max_value,
a.text_value,
a.number_value,
a.value_type_db,
a.value_type,
case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
a.is_submit,
isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
a.sampling_qty,
dbo.qc_get_ipqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
c.method_no,
c.method_name,
c.method_remark,
(
SELECT COUNT(*)
FROM sys_oss
WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
) AS imageDetailNum
FROM qc_ipqc_detailed_record as a
LEFT JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
LEFT JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
order by a.order_id
</select>
<!-- 删除IPQC检验记录 -->
<delete id="deleteIPQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_ipqc_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 删除IPQC明细记录信息 -->
<delete id="deleteIPQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_ipqc_detailed_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 删除IPQC子明细记录信息 -->
<delete id="deleteIPQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_ipqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 修改IPQC主记录信息 -->
<update id="updateIPQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_ipqc_record
SET disposal_measures = #{disposalMeasures},
disposal_remark = #{disposalRemark},
inspection_result = #{inspectionResult},
inspector_no = #{inspectorNo},
state = #{state},
inspection_remark = #{inspectionRemark},
inspector_date = getDate(),
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
roll_qty = #{rollQty,jdbcType=DECIMAL},
unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
pass_qty = #{passQty,jdbcType=DECIMAL},
not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
submit_date = getDate()
WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
</update>
<!-- 修改IPQC明细记录信息 -->
<update id="updateIPQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_ipqc_detailed_record
SET item_result = #{itemResult},
unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
text_value = #{textValue},
number_value = #{numberValue,jdbcType=DECIMAL}
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改IPQC主记录标识为已提交 -->
<update id="updateIPQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_ipqc_record
SET submit_flag = 'Y',
state = '已完成',
submit_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改IPQC明细记录标识为已提交 -->
<update id="updateIPQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_ipqc_detailed_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改IPQC子明细记录标识为已提交 -->
<update id="updateIPQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_ipqc_sub_detail_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 删除IPQC子明细的老数据 -->
<delete id="delIPQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
DELETE FROM qc_ipqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 新增IPQC子明细信息 -->
<insert id="saveIPQCSubDetailed">
INSERT INTO qc_ipqc_sub_detail_record
(inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
</foreach>
</insert>
<!-- 查询IPQC的子明细 -->
<select id="selectIPQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT
site,
bu_no,
sub_detail_value,
sampling_location,
is_submit,
sampling_location_b,
num,
sub_detail_value_b,
sub_detail_value_c,
sub_detail_value_d,
sub_detail_value_e
FROM qc_ipqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
<if test = "collectionDataContent != null and collectionDataContent != ''">
AND sub_detail_value ${collectionDataContent}
</if>
</select>
<!-- 查询IPQC检验记录是否已提交 -->
<select id="checkIPQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT submit_flag
FROM qc_ipqc_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</select>
<!-- 获取该项目的子明细值 -->
<select id="selectIPQCSubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT sub_detail_value,
sampling_location,
is_submit
FROM qc_ipqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
</select>
<!-- 查询工序列表 -->
<select id="getOperationList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
DISTINCT
a.seqno as seqNo,
a.orderno as orderNo,
j.partNo,
j.PartDescription,
j.invdefinetype,
j.sku,
c.OperationDesc as operationDesc,
a.itemno as operationNo,
a.s_resourceid as resourceId,
r.resource_desc as resourceDesc,
c.work_center_no
FROM soscheduledrouting as a
LEFT JOIN RoutingDetail AS c ON c.site = a.site AND a.itemno = c.itemNo
LEFT JOIN part j ON a.site = j.site and a.partNo = j.partNo
LEFT JOIN resource r ON a.site = r.site and a.s_resourceid = r.resource_id
WHERE a.site = #{site} and a.seqno = #{seqNo}
</select>
<!-- 根据工单号和工序号查出所有数据 -->
<select id="getResourceList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.s_resourceid as resourceId,
DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
c.work_center_no
FROM soscheduledrouting as a
LEFT JOIN sfdc as b ON a.site = b.site and a.seqno = b.assjob_seq_no
LEFT JOIN so_routing as c ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
LEFT JOIN part j ON a.site = j.site and a.part_no = j.part_no
WHERE a.site = #{site} and b.approve_qty is not null and a.seqno = #{seqNo}
ORDER BY a.id desc
</select>
<!-- a.orderno = #{orderNo} and c.operation_desc = #{operationDesc}-->
<!-- 查询机台名称 -->
<select id="selectResourceDesc" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT distinct
resource_desc
FROM resource
WHERE site = #{site} and resource_id = #{resourceId}
</select>
<!-- 查询物料名称 -->
<select id="selectPartDesc" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT distinct
part_desc
FROM part
WHERE site = #{site} and part_no = #{partNo}
</select>
<!-- ================================================= IQC检验维护 ================================================= -->
<!-- 查询IQC基础数据 -->
<select id="selectIQCBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
qir.inspection_no,
qir.state,
qir.create_date as taskDate,
qir.roll_no,
qir.part_no,
p.part_desc,
p.cinv_source_code,
p.sku as sku,
qir.roll_qty,
qir.print_flag,
qir.create_by,
qir.supplier_no,
qir.site,
qir.bu_no,
qir.po_orderNo,
qir.po_itemNo,
qir.roll_count
FROM qc_iqc_record as qir
LEFT JOIN part p ON qir.part_no = p.part_no and qir.site = p.site
WHERE qir.site in (select site from eam_access_site where username = #{userName})
and (qir.site + '-' + qir.bu_no) in (select * from dbo.query_bu(#{userName}))
and qir.detail_flag = 'N'
</select>
<!-- 新增IQC明细记录信息 -->
<insert id="saveIQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_iqc_detailed_record (inspection_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value, max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
VALUES(#{inspectionNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty}, #{buNo},#{orderId,jdbcType=INTEGER})
</insert>
<!-- 修改IQC检验记录 -->
<update id="updateIQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_record
SET inspection_type_no = #{inspectionTypeNo},
sampling_qty = #{samplingQty},
inspection_cycle = #{inspectionCycle},
part_no = #{partNo},
supplier_no = #{supplierNo},
part_desc = #{partDesc},
detail_flag = 'Y',
state = '未开始',
action_date = '',
action_by = ''
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 查询IQC主记录信息 -->
<select id="qcIQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.inspection_no,
a.site,
a.bu_no,
a.state,
a.inspection_result,
a.create_date as taskDate,
a.inspection_type_no,
a.inspection_cycle,
a.part_no,
a.part_desc,
d.cinv_source_code as cinvSourceCode,
d.sku,
d.umid as umId,
d.invdefinetype as invdefinetype,
a.inspection_remark,
a.roll_qty,
a.sampling_qty,
a.disposal_measures,
a.disposal_remark,
a.inspector_date,
a.inspector_no,
u.user_display as inspectorName,
a.unqualified_quantity,
a.submit_flag,
a.roll_no,
a.supplier_no,
s.SupplierName as supplierDesc,
a.po_orderNo,
a.po_itemNo,
a.roll_count,
dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) as orderType,
a.action_date,
a.action_by,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
a.submission_remark,
a.submission_type,
a.batch_no,
a.production_date,
a.expiration_warning_date,
a.expiration_date,
a.cancel_check_date,
a.submit_date,
a.pass_qty,
a.not_pass_qty,
a.batch_qualified_qty,
a.receipt_no,
a.receipt_item_no,
a.ref_info1,
a.ref_info2,
a.ref_info3,
a.ref_info4,
a.ref_info5
FROM qc_iqc_record as a
left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.partNo
left join view_Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
left join sys_user as u on a.inspector_no = u.username
<where>
<if test="query.site != null and query.site != ''">
AND a.site = #{query.site}
</if>
<if test = "query.inspectionNo != null and query.inspectionNo != ''">
AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
</if>
<if test = "query.states != null and query.states.size > 0">
AND a.state in
<foreach item="item" collection="query.states" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test = "query.inspectionResult != null and query.inspectionResult != ''">
AND a.inspection_result = #{query.inspectionResult}
</if>
<if test = "query.partNo != null and query.partNo != ''">
AND a.part_no LIKE '%' + #{query.partNo} + '%'
</if>
<if test = "query.partDesc != null and query.partDesc != ''">
AND a.part_desc LIKE '%' + #{query.partDesc} + '%'
</if>
<if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
</if>
<if test = "query.sku != null and query.sku != ''">
AND d.sku LIKE '%' + #{query.sku} + '%'
</if>
<if test = "query.supplierDesc != null and query.supplierDesc != ''">
AND s.SupplierName LIKE '%' + #{query.supplierDesc} + '%'
</if>
<if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
</if>
<if test = "query.inspectorName != null and query.inspectorName != ''">
u.user_display LIKE '%' + #{query.inspectorName} + '%'
</if>
<if test="query.startDate != null">
AND a.inspector_date >= #{query.startDate}
</if>
<if test="query.endDate != null">
AND #{query.endDate} >= a.inspector_date
</if>
<if test="query.startDate2 != null">
AND a.create_date >= #{query.startDate2}
</if>
<if test="query.endDate2 != null">
AND #{query.endDate2} >= a.create_date
</if>
<if test = "query.poOrderNo != null and query.poOrderNo != ''">
AND a.po_orderNo LIKE '%' + #{query.poOrderNo} + '%'
</if>
<if test = "query.poItemNo != null and query.poItemNo != ''">
AND a.po_itemNo LIKE '%' + #{query.poItemNo} + '%'
</if>
<if test = "query.orderType != null and query.orderType != ''">
AND dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) = #{query.orderType}
</if>
<if test = "query.submissionType != null and query.submissionType != ''">
AND a.submission_type = #{query.submissionType}
</if>
<if test = "query.invdefinetype != null and query.invdefinetype != ''">
AND d.invdefinetype LIKE '%' + #{query.invdefinetype} + '%'
</if>
</where>
ORDER BY
CASE WHEN a.state = '待检验' THEN 1
WHEN a.state = '待审核' THEN 2
WHEN a.state = '已完成' THEN 3
END, a.create_date desc
</select>
<!-- IQC明细记录查询 -->
<select id="iqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.site,
a.bu_no,
a.inspection_no,
a.template_id,
a.sampling_level_no,
a.sampling_level_desc,
a.sampling_programme_no,
a.sampling_programme_desc,
a.AQL,
a.AC,
a.RE,
a.item_no,
a.item_desc,
a.object_id,
a.object_desc,
a.default_value,
a.min_value,
a.max_value,
a.text_value,
a.number_value,
a.value_type_db,
a.value_type,
case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
a.is_submit,
isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
dbo.qc_get_iqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
c.method_no,
c.method_name,
c.method_remark,
a.sampling_qty,
(
SELECT COUNT(*)
FROM sys_oss
WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
) AS imageDetailNum
FROM qc_iqc_detailed_record as a
LEFT JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
LEFT JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
order by a.order_id
</select>
<!-- 查询IQC的子明细 -->
<select id="selectIQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT
site,
bu_no,
sub_detail_value,
sampling_location,
is_submit,
sampling_location_b,
num,
sub_detail_value_b,
sub_detail_value_c,
sub_detail_value_d,
sub_detail_value_e
FROM qc_iqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
<if test = "collectionDataContent != null and collectionDataContent != ''">
AND sub_detail_value ${collectionDataContent}
</if>
</select>
<!-- 获取该项目的子明细值 -->
<select id="selectIQCSubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT sub_detail_value,
sampling_location,
is_submit
FROM qc_iqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
</select>
<!-- 修改IQC主记录信息 -->
<update id="updateIQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_record
SET disposal_measures = #{disposalMeasures},
disposal_remark = #{disposalRemark},
inspection_result = #{inspectionResult},
inspector_no = #{inspectorNo},
state = #{state},
inspection_remark = #{inspectionRemark},
inspector_date = getDate(),
roll_count = #{rollCount,jdbcType=DECIMAL},
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
pass_qty = #{passQty,jdbcType=DECIMAL},
not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
submit_date = getDate()
WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</update>
<!-- 修改IQC明细记录信息 -->
<update id="updateIQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_detailed_record
SET item_result = #{itemResult},
unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
text_value = #{textValue},
number_value = #{numberValue,jdbcType=DECIMAL}
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 查询该记录明细是否已存在 -->
<select id="checkIQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT inspection_no,
template_id
FROM qc_iqc_detailed_record
WHERE inspection_no = #{inspectionNo} and site = #{site}
</select>
<!-- 查询IQC检验记录是否已提交 -->
<select id="checkIQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT submit_flag
FROM qc_iqc_record
WHERE inspection_no = #{inspectionNo} and site = #{site}
</select>
<!-- 删除IQC子明细的老数据 -->
<delete id="delIQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
DELETE FROM qc_iqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- ================================================= SQC检验维护 ================================================= -->
<!-- 查询SQC基础数据 -->
<select id="selectSQCBasicData" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
qir.inspection_no,
qir.state,
qir.create_date as taskDate,
qir.roll_no,
qir.part_no,
p.part_desc,
p.cinv_source_code,
p.sku as sku,
qir.roll_qty,
qir.print_flag,
qir.create_by,
qir.supplier_no,
qir.site,
qir.bu_no,
qir.po_orderNo,
qir.po_itemNo,
qir.roll_count
FROM qc_sqc_record as qir
LEFT JOIN part p ON qir.part_no = p.part_no and qir.site = p.site
WHERE qir.site in (select site from eam_access_site where username = #{userName})
and (qir.site + '-' + qir.bu_no) in (select * from dbo.query_bu(#{userName}))
and qir.detail_flag = 'N'
</select>
<!-- 新增SQC明细记录信息 -->
<insert id="saveSQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_sqc_detailed_record (inspection_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value, max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
VALUES(#{inspectionNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty}, #{buNo},#{orderId,jdbcType=INTEGER})
</insert>
<!-- 修改SQC检验记录 -->
<update id="updateSQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_sqc_record
SET inspection_type_no = #{inspectionTypeNo},
sampling_qty = #{samplingQty},
inspection_cycle = #{inspectionCycle},
part_no = #{partNo},
supplier_no = #{supplierNo},
part_desc = #{partDesc},
detail_flag = 'Y',
state = '未开始',
action_date = '',
action_by = ''
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 查询SQC主记录信息 -->
<select id="qcSQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.inspection_no,
a.site,
a.bu_no,
a.state,
a.inspection_result,
a.create_date as taskDate,
a.inspection_type_no,
a.inspection_cycle,
a.part_no,
a.part_desc,
d.cinv_source_code as cinvSourceCode,
d.sku,
d.umid as umId,
d.invdefinetype as invdefinetype,
a.inspection_remark,
a.roll_qty,
a.sampling_qty,
a.disposal_measures,
a.disposal_remark,
a.inspector_date,
a.inspector_no,
u.user_display as inspectorName,
a.unqualified_quantity,
a.submit_flag,
a.roll_no,
a.supplier_no,
s.SupplierName as supplierDesc,
a.po_orderNo,
a.po_itemNo,
a.roll_count,
dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) as orderType,
a.action_date,
a.action_by,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
a.submission_remark,
a.submission_type,
a.batch_no,
a.production_date,
a.expiration_warning_date,
a.expiration_date,
a.cancel_check_date,
a.submit_date,
a.pass_qty,
a.not_pass_qty,
a.batch_qualified_qty,
a.ref_info1,
a.ref_info2,
a.ref_info3,
a.ref_info4,
a.ref_info5
FROM qc_sqc_record as a
left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.partNo
left join view_Supplier as s on a.site = s.site and a.supplier_no = s.SupplierID
left join sys_user as u on a.inspector_no = u.username
<where>
<if test="query.site != null and query.site != ''">
AND a.site = #{query.site}
</if>
<if test = "query.inspectionNo != null and query.inspectionNo != ''">
AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
</if>
<if test = "query.states != null and query.states.size > 0">
AND a.state in
<foreach item="item" collection="query.states" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test = "query.inspectionResult != null and query.inspectionResult != ''">
AND a.inspection_result = #{query.inspectionResult}
</if>
<if test = "query.partNo != null and query.partNo != ''">
AND a.part_no LIKE '%' + #{query.partNo} + '%'
</if>
<if test = "query.partDesc != null and query.partDesc != ''">
AND a.part_desc LIKE '%' + #{query.partDesc} + '%'
</if>
<if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
</if>
<if test = "query.sku != null and query.sku != ''">
AND d.sku LIKE '%' + #{query.sku} + '%'
</if>
<if test = "query.supplierDesc != null and query.supplierDesc != ''">
AND s.SupplierName LIKE '%' + #{query.supplierDesc} + '%'
</if>
<if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
</if>
<if test = "query.inspectorName != null and query.inspectorName != ''">
u.user_display LIKE '%' + #{query.inspectorName} + '%'
</if>
<if test="query.startDate != null">
AND a.inspector_date >= #{query.startDate}
</if>
<if test="query.endDate != null">
AND #{query.endDate} >= a.inspector_date
</if>
<if test="query.startDate2 != null">
AND a.create_date >= #{query.startDate2}
</if>
<if test="query.endDate2 != null">
AND #{query.endDate2} >= a.create_date
</if>
<if test = "query.poOrderNo != null and query.poOrderNo != ''">
AND a.po_orderNo LIKE '%' + #{query.poOrderNo} + '%'
</if>
<if test = "query.poItemNo != null and query.poItemNo != ''">
AND a.po_itemNo LIKE '%' + #{query.poItemNo} + '%'
</if>
<if test = "query.orderType != null and query.orderType != ''">
AND dbo.qc_get_order_type(a.site, a.po_orderNo, a.po_itemNo) = #{query.orderType}
</if>
<if test = "query.submissionType != null and query.submissionType != ''">
AND a.submission_type = #{query.submissionType}
</if>
<if test = "query.invdefinetype != null and query.invdefinetype != ''">
AND d.invdefinetype LIKE '%' + #{query.invdefinetype} + '%'
</if>
</where>
ORDER BY
CASE WHEN a.state = '待检验' THEN 1
WHEN a.state = '待审核' THEN 2
WHEN a.state = '已完成' THEN 3
END, a.create_date desc
</select>
<!-- SQC明细记录查询 -->
<select id="sqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.site,
a.bu_no,
a.inspection_no,
a.template_id,
a.sampling_level_no,
a.sampling_level_desc,
a.sampling_programme_no,
a.sampling_programme_desc,
a.AQL,
a.AC,
a.RE,
a.item_no,
a.item_desc,
a.object_id,
a.object_desc,
a.default_value,
a.min_value,
a.max_value,
a.text_value,
a.number_value,
a.value_type_db,
a.value_type,
case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
a.is_submit,
isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
(
SELECT COUNT(*)
FROM qc_sqc_sub_detail_record s
WHERE s.site = a.site and s.bu_no = a.bu_no and s.inspection_no = a.inspection_no and s.item_no = a.item_no
) as subDetailRecordNum,
c.method_no,
c.method_name,
c.method_remark,
a.sampling_qty,
(
SELECT COUNT(*)
FROM sys_oss
WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
) AS imageDetailNum
FROM qc_sqc_detailed_record as a
LEFT JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
LEFT JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
order by a.order_id
</select>
<!-- 查询SQC的子明细 -->
<select id="selectSQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT
site,
bu_no,
sub_detail_value,
sampling_location,
is_submit,
sampling_location_b,
num,
sub_detail_value_b,
sub_detail_value_c,
sub_detail_value_d,
sub_detail_value_e,
sub_detail_value_f,
sub_detail_value_g,
sub_detail_value_h,
sub_detail_value_i,
sub_detail_value_j
FROM qc_sqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
<if test = "collectionDataContent != null and collectionDataContent != ''">
AND sub_detail_value ${collectionDataContent}
</if>
</select>
<!-- 获取该项目的子明细值 -->
<select id="selectSQCSubDetailValue" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT sub_detail_value,
sampling_location,
is_submit
FROM qc_sqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</select>
<!-- 修改SQC主记录信息 -->
<update id="updateSQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_sqc_record
SET disposal_measures = #{disposalMeasures},
disposal_remark = #{disposalRemark},
inspection_result = #{inspectionResult},
inspector_no = #{inspectorNo},
state = #{state},
inspection_remark = #{inspectionRemark},
inspector_date = getDate(),
roll_count = #{rollCount,jdbcType=DECIMAL},
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
pass_qty = #{passQty,jdbcType=DECIMAL},
not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
submit_date = getDate()
WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</update>
<!-- 修改SQC明细记录信息 -->
<update id="updateSQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_sqc_detailed_record
SET item_result = #{itemResult},
unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
text_value = #{textValue},
number_value = #{numberValue,jdbcType=DECIMAL}
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 查询该记录明细是否已存在 -->
<select id="checkSQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT inspection_no,
template_id
FROM qc_sqc_detailed_record
WHERE inspection_no = #{inspectionNo} and site = #{site}
</select>
<!-- 查询SQC检验记录是否已提交 -->
<select id="checkSQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT submit_flag
FROM qc_sqc_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</select>
<!-- 删除SQC子明细的老数据 -->
<delete id="delSQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
DELETE FROM qc_sqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 新增SQC子明细信息 -->
<insert id="saveSQCSubDetailed">
INSERT INTO qc_sqc_sub_detail_record
(inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e, sub_detail_value_f, sub_detail_value_g, sub_detail_value_h, sub_detail_value_i, sub_detail_value_j)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE}, #{item.subDetailValueF}, #{item.subDetailValueG}, #{item.subDetailValueH}, #{item.subDetailValueI}, #{item.subDetailValueJ})
</foreach>
</insert>
<!-- 修改SQC主记录标识为已提交 -->
<update id="updateSQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_sqc_record
SET submit_flag = 'Y',
state = '已完成',
submit_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改SQC明细记录标识为已提交 -->
<update id="updateSQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_sqc_detailed_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改SQC子明细记录标识为已提交 -->
<update id="updateSQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_sqc_sub_detail_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 删除SQC检验记录 -->
<delete id="deleteSQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_sqc_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 删除SQC明细记录信息 -->
<delete id="deleteSQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_sqc_detailed_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 删除SQC子明细记录信息 -->
<delete id="deleteSQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_sqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 新增IQC子明细信息 -->
<insert id="saveIQCSubDetailed">
INSERT INTO qc_iqc_sub_detail_record
(inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
</foreach>
</insert>
<!-- 修改IQC主记录标识为已提交 -->
<update id="updateIQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_record
SET submit_flag = 'Y',
state = '已完成',
submit_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改IQC明细记录标识为已提交 -->
<update id="updateIQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_detailed_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改IQC子明细记录标识为已提交 -->
<update id="updateIQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_sub_detail_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 删除IQC检验记录 -->
<delete id="deleteIQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_iqc_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 删除IQC明细记录信息 -->
<delete id="deleteIQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_iqc_detailed_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 删除IQC子明细记录信息 -->
<delete id="deleteIQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_iqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 查询文件ID -->
<select id="queryFileId" parameterType="SysOssEntity" resultType="SysOssEntity">
SELECT id, file_name
FROM sys_oss
WHERE order_ref1 = #{orderRef1} and order_ref2 = #{orderRef2}
</select>
<!-- 获取工序列表 -->
<select id="getOperationDescList" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
select DISTINCT OperationDesc from RoutingDetail
<where>
<if test = "operationDesc != null and operationDesc != ''">
AND OperationDesc LIKE '%' + #{operationDesc} + '%'
</if>
</where>
</select>
<!-- 获取供应商列表 -->
<select id="getManufacturerList" parameterType="com.heai.modules.pms.data.QcPartAttributeData" resultType="com.heai.modules.pms.data.QcPartAttributeData">
SELECT
supplierID as manufacturerID,
supplierName as manufacturerName
FROM view_Supplier
<where>
site = #{site}
<if test = "manufacturerID != null and manufacturerID != ''">
AND supplierID LIKE '%' + #{manufacturerID} + '%'
</if>
<if test = "manufacturerName != null and manufacturerName != ''">
AND supplierName LIKE '%' + #{manufacturerName} + '%'
</if>
</where>
</select>
<!-- 获取机台列表 -->
<select id="getAllResourceList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT distinct
resource_id,
resource_desc
FROM resource
<where>
site = #{site}
<if test = "resourceId != null and resourceId != ''">
AND resource_id LIKE '%' + #{resourceId} + '%'
</if>
<if test = "resourceDesc != null and resourceDesc != ''">
AND resource_desc LIKE '%' + #{resourceDesc} + '%'
</if>
</where>
</select>
<!-- 获取工单列表 -->
<select id="getOrderNoList" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT DISTINCT
a.orderno as orderNo
FROM soscheduledrouting as a
LEFT JOIN sfdc as b ON a.site = b.site and a.seqno = b.assjob_seq_no
LEFT JOIN so_routing as c ON c.site = a.site and c.order_no = a.orderno and a.itemno = c.item_no
LEFT JOIN part j ON a.site = j.site and a.part_no = j.part_no
<where>
a.site = #{site}
AND b.approve_qty is not null
<if test = "orderNo != null and orderNo != ''">
AND a.orderno LIKE '%' + #{orderNo} + '%'
</if>
</where>
order by a.orderno DESC
</select>
<!-- 查询FQC主记录信息 -->
<select id="qcFQCInspectionSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.inspection_no,
a.site,
a.bu_no,
a.state,
a.inspection_result,
a.task_date,
a.inspection_type_no,
dbo.qc_get_inspection_type_name(a.site, a.inspection_type_no) as inspectionTypeName,
a.inspection_cycle,
a.order_no,
a.operation_desc,
a.resource_id,
r.resource_desc,
a.part_no,
d.PartDescription as partDesc,
d.cinv_source_code as cinvSourceCode,
d.sku as sku,
d.invdefinetype as invdefinetype,
a.inspection_remark,
a.roll_qty,
a.sampling_qty,
a.disposal_measures,
a.disposal_remark,
a.inspector_date,
a.inspector_no,
u.user_display as inspectorName,
a.ssr_id,
a.unqualified_qty,
a.submit_flag,
a.seq_no,
a.batch_roll_no,
a.special_requirements,
a.work_center_no,
a.roll_no,
a.um_id,
um.UMName as umName,
a.action_date,
a.action_by,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operator,
isnull(dbo.joint_name(a.site, a.bu_no, a.inspection_no, 'coordination'), '') as operatorName,
isnull(dbo.joint_id(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePerson,
isnull(dbo.joint_name2(a.site, a.bu_no, a.inspection_no, 'responsible'), '') as responsiblePersonName,
a.pass_qty,
a.not_pass_qty,
a.batch_qualified_qty,
a.receipt_no,
a.receipt_item_no,
a.ref_info1,
a.ref_info2,
a.ref_info3,
a.ref_info4,
a.ref_info5
FROM qc_fqc_record as a
left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.partNo
left join sys_user as u on a.inspector_no = u.username
left join resource as r on a.site = r.site and a.resource_id = r.resource_id and a.work_center_no = r.work_center_no
left join UM as um on a.site = um.site and a.um_id = um.UMID
<where>
<if test="query.site != null and query.site != ''">
AND a.site = #{query.site}
</if>
<if test = "query.inspectionNo != null and query.inspectionNo != ''">
AND a.inspection_no LIKE '%' + #{query.inspectionNo} + '%'
</if>
<if test = "query.partNo != null and query.partNo != ''">
AND a.part_no LIKE '%' + #{query.partNo} + '%'
</if>
<if test = "query.partDesc != null and query.partDesc != ''">
AND d.PartDescription LIKE '%' + #{query.partDesc} + '%'
</if>
<if test = "query.cinvSourceCode != null and query.cinvSourceCode != ''">
AND d.cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
</if>
<if test = "query.sku != null and query.sku != ''">
AND d.sku LIKE '%' + #{query.sku} + '%'
</if>
<if test = "query.disposalMeasures != null and query.disposalMeasures != ''">
AND a.disposal_measures LIKE '%' + #{query.disposalMeasures} + '%'
</if>
<if test = "query.states != null and query.states.size > 0">
AND a.state in
<foreach item="item" collection="query.states" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test = "query.inspectionResult != null and query.inspectionResult != ''">
AND a.inspection_result = #{query.inspectionResult}
</if>
<if test = "query.orderNo != null and query.orderNo != ''">
AND a.order_no LIKE '%' + #{query.orderNo} + '%'
</if>
<if test = "query.seqNo != null and query.seqNo != ''">
AND a.seq_no LIKE '%' + #{query.seqNo} + '%'
</if>
<if test = "query.operationDesc != null and query.operationDesc != ''">
AND a.operation_desc LIKE '%' + #{query.operationDesc} + '%'
</if>
<if test="query.startDate != null">
AND a.inspector_date >= #{query.startDate}
</if>
<if test="query.endDate != null">
AND #{query.endDate} >= a.inspector_date
</if>
<if test="query.startDate2 != null">
AND a.task_date >= #{query.startDate2}
</if>
<if test="query.endDate2 != null">
AND #{query.endDate2} >= a.task_date
</if>
</where>
ORDER BY
CASE WHEN a.state = '待检验' THEN 1
WHEN a.state = '待审核' THEN 2
WHEN a.state = '已完成' THEN 3
END, a.task_date desc
</select>
<insert id="saveFQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_fqc_detailed_record
(inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
max_value, value_type_db, value_type, site, sampling_qty, bu_no,order_id)
VALUES
(#{inspectionNo}, #{orderNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc},
#{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL},
#{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER})
</insert>
<!-- 新增FQC明细记录信息 -->
<insert id="saveFQCDetailedRecords">
INSERT INTO qc_fqc_detailed_record
(inspection_no, order_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc,
AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value,
max_value, value_type_db, value_type, site, sampling_qty, bu_no, order_id)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc},
#{item.aql,jdbcType=DECIMAL}, #{item.ac,jdbcType=DECIMAL}, #{item.re,jdbcType=DECIMAL}, #{item.itemNo}, #{item.itemDesc}, #{item.objectId}, #{item.objectDesc}, #{item.defaultValue}, #{item.minValue,jdbcType=DECIMAL},
#{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId})
</foreach>
</insert>
<!-- 新增FQC主记录信息 -->
<insert id="saveFQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_fqc_record
(inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id,
part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id,ref_info1,ref_info2)
VALUES
(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId},
#{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId},#{refInfo1},#{refInfo2})
</insert>
<!-- FQC明细记录查询 -->
<select id="fqcDetailSearch" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.site,
a.bu_no,
a.inspection_no,
a.order_no,
a.template_id,
a.sampling_level_no,
a.sampling_level_desc,
a.sampling_programme_no,
a.sampling_programme_desc,
a.AQL,
a.AC,
a.RE,
a.item_no,
a.item_desc,
a.object_id,
a.object_desc,
a.default_value,
a.min_value,
a.max_value,
a.text_value,
a.number_value,
a.value_type_db,
a.value_type,
case when a.item_result = '' or a.item_result is null then 'Y' else a.item_result end as itemResult,
a.is_submit,
isnull(a.unqualified_quantity,0) as unqualifiedQuantity,
a.sampling_qty,
dbo.qc_get_fqc_sub_record_num(a.site, a.bu_no, a.inspection_no, a.item_no) as subDetailRecordNum,
c.method_no,
c.method_name,
c.method_remark,
(
SELECT COUNT(*)
FROM sys_oss
WHERE order_ref1 = a.site and order_ref2 = a.inspection_no and order_ref3 = a.item_no and order_ref4 = a.bu_no
) AS imageDetailNum
FROM qc_fqc_detailed_record as a
LEFT JOIN qc_method_item as b on a.site = b.site and a.item_no = b.ItemNo and a.bu_no = b.bu_no
LEFT JOIN qc_method as c on b.site = c.site and b.method_no = c.method_no and b.bu_no = c.bu_no
WHERE a.inspection_no = #{inspectionNo} and a.site = #{site} and a.bu_no = #{buNo}
order by a.order_id
</select>
<!-- 删除FQC检验记录 -->
<delete id="deleteFQCRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_fqc_record
WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</delete>
<!-- 删除FQC明细记录信息 -->
<delete id="deleteFQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_fqc_detailed_record
WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</delete>
<!-- 删除FQC子明细记录信息 -->
<delete id="deleteFQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_fqc_sub_detail_record
WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</delete>
<!-- 修改FQC主记录信息 -->
<update id="updateFQCMasterRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fqc_record
SET disposal_measures = #{disposalMeasures},
disposal_remark = #{disposalRemark},
inspection_result = #{inspectionResult},
inspector_no = #{inspectorNo},
state = #{state},
inspection_remark = #{inspectionRemark},
inspector_date = getDate(),
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
roll_qty = #{rollQty,jdbcType=DECIMAL},
unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL},
pass_qty = #{passQty,jdbcType=DECIMAL},
not_pass_qty = #{notPassQty,jdbcType=DECIMAL},
batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL},
submit_date = getDate()
WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo}
</update>
<!-- 修改FQC明细记录信息 -->
<update id="updateFQCDetailedRecord" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fqc_detailed_record
SET item_result = #{itemResult},
unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL},
sampling_qty = #{samplingQty,jdbcType=DECIMAL},
text_value = #{textValue},
number_value = #{numberValue,jdbcType=DECIMAL}
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改FQC主记录标识为已提交 -->
<update id="updateFQCMasterSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fqc_record
SET submit_flag = 'Y',
state = '已完成',
submit_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改FAI明细记录标识为已提交 -->
<update id="updateFQCDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fqc_detailed_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 修改子明细记录标识为已提交 -->
<update id="updateFQCSubDetailSubmitFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fqc_sub_detail_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 删除子明细的老数据 -->
<delete id="delFQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.QcSubDetailInformationData">
DELETE FROM qc_fqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</delete>
<!-- 新增子明细信息 -->
<insert id="saveFQCSubDetailed">
INSERT INTO qc_fqc_sub_detail_record
(inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE})
</foreach>
</insert>
<!-- 查询FQC的子明细 -->
<select id="selectFQCSubDetailedRecord" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT
site,
bu_no,
sub_detail_value,
sampling_location,
is_submit,
sampling_location_b,
num,
sub_detail_value_b,
sub_detail_value_c,
sub_detail_value_d,
sub_detail_value_e
FROM qc_fqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
<if test = "collectionDataContent != null and collectionDataContent != ''">
AND sub_detail_value ${collectionDataContent}
</if>
</select>
<!-- 查询FQC检验记录是否已提交 -->
<select id="checkFQCIsSubmit" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT submit_flag
FROM qc_fqc_record
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</select>
<!-- 获取该项目的子明细值 -->
<select id="selectFQCSubDetailValue" parameterType="string" resultType="com.heai.modules.pms.data.SubDetailValues">
SELECT sub_detail_value,
sampling_location,
is_submit
FROM qc_fqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site}
</select>
<!-- 生成FQC检验单号 -->
<select id="selectFQCInspectionNo" resultType="string" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,4,10))),0)+1),8)
FROM qc_fqc_record
WHERE site = #{site} and bu_no = #{buNo}
</select>
<!-- 生成IPQC检验单号 -->
<select id="selectIPQCInspectionNo" resultType="string" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,5,10))),0)+1),8)
FROM qc_ipqc_record
WHERE site = #{site} and bu_no = #{buNo}
</select>
<select id="selectIQCInspectionNo" resultType="java.lang.String">
SELECT
Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,5,10))),0)+1),8)
FROM qc_iqc_record
WHERE site = #{site} and bu_no = #{buNo}
</select>
<select id="selectSQCInspectionNo" resultType="java.lang.String">
SELECT
Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,5,10))),0)+1),8)
FROM qc_sqc_record
WHERE site = #{site} and bu_no = #{buNo}
</select>
<!-- 生成FAI检验单号 -->
<select id="selectFAIInspectionNo" resultType="string" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
Right('0000000000'+ convert(VARCHAR(10), isnull(max(convert(INT,SUBSTRING(inspection_no,4,10))),0)+1),8)
FROM qc_fai_record
WHERE site = #{site} and bu_no = #{buNo}
</select>
<!-- 根据 site、po_orderNo、po_itemNo 从 view_po_order 中查出数据 -->
<select id="queryDataFromViewPoOrder" resultType="com.heai.modules.pms.data.PoOrderData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
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
FROM view_po_order
WHERE site = #{site} and order_no = #{poOrderNo} and item_no = #{poItemNo}
</select>
<!-- 向收货任务表里添加数据 -->
<insert id="saveReceivingTask" parameterType="com.heai.modules.pms.data.PoOrderData">
INSERT INTO receiving_task (site, order_no, item_no, part_no, part_desc, spec, supplier_id, supplier_name, order_qty, created_date, status, citem_code, citem_class, sendto_address, order_type, inspection_no, batch_no, production_date, expiration_warning_date, expiration_date)
VALUES (#{site}, #{orderNo}, #{itemNo}, #{partNo}, #{partDesc}, #{spec}, #{supplierId}, #{supplierName}, #{orderQty}, getDate(), #{status}, #{citemCode}, #{citemClass}, #{sendtoAddress}, #{orderType}, #{inspectionNo}, #{batchNo}, #{productionDate}, #{expirationWarningDate}, #{expirationDate})
</insert>
<!-- 检查动控是否开启 -->
<select id="queryController" parameterType="com.heai.modules.sys.entity.SysSceneDynamicControlModelEntity" resultType="com.heai.modules.sys.entity.SysSceneDynamicControlModelEntity">
SELECT
type,
base_data,
base_desc,
status,
remark,
third_type,
second_type,
page_control,
control_style
FROM sys_scene_dynamic_control_model
where site = #{site} and control_no = #{controlNo}
</select>
<!-- 查询检验模板列表 -->
<select id="queryTemplateList" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
SELECT
site,
bu_no,
template_id as templateId,
template_name as templateName,
dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName
FROM qc_template
<where>
site = #{site} and bu_no = #{buNo} and dbo.qc_get_inspection_type_name(site, inspection_type_no) = #{inspectionTypeName}
<if test = "templateId != null and templateId != ''">
AND template_id LIKE '%' + #{templateId}+'%'
</if>
<if test = "templateName != null and templateName != ''">
AND template_name LIKE '%' + #{templateName}+'%'
</if>
<if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
AND inspection_type_no = #{inspectionTypeNo}
</if>
</where>
</select>
<!-- 查询检验模板列表 -->
<select id="getPartInformation" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
select
part_no,
part_desc,
spec,
sku,
control_mes,
DefaultWarehouseID as defaultWarehouseId
from part
where site = #{site} and part_no = #{partNo}
</select>
<!-- 获取特殊工序列表 -->
<select id="getSpecialOperationList" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
select
site,
operation_no,
operation_desc
from qc_special_task_operation
where site = #{site}
</select>
<!-- 获取处置措施列表 -->
<select id="disposalMeasuresSearch" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
id,
disposal_measures
FROM qc_disposal_measures
<where>
<if test = "inspectionTypeNo != '101'">
inspection_type != 'IPQC'
</if>
</where>
</select>
<!-- 查询文件路径 -->
<select id="searchItemFileUrl" resultType="SysOssEntity" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
id,
url,
file_name
FROM sys_oss
WHERE order_ref1 = #{site} and order_ref2 = #{inspectionNo} and order_ref3 = #{itemNo} and order_ref4 = #{buNo}
</select>
<!-- 删除图片-->
<delete id="imageDelete" parameterType="SysOssEntity">
DELETE FROM sys_oss
WHERE id = #{id}
</delete>
<!-- 模糊查询标签号 -->
<select id="getRollNo" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT DISTINCT top 3
a.seqno,
a.orderno,
b.roll_no
FROM soscheduledrouting AS a
LEFT JOIN sfdc_rolls AS b ON a.site = b.site AND a.seqno = b.createdops_seqno
WHERE a.site = #{site} and b.roll_no like '%' + #{rollNo} + '%'
</select>
<!-- 标签号回车事件 -->
<select id="rollNoEnter" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
a.site,
a.seqno as seqNo,
a.orderno as orderNo,
b.roll_no,
#{inspectionTypeNo} as inspectionTypeNo
FROM soscheduledrouting AS a
LEFT JOIN sfdc_rolls AS b ON a.site = b.site AND a.seqno = b.createdops_seqno
WHERE a.site = #{site} and b.roll_no = #{rollNo}
</select>
<!-- 查询物料列表 -->
<select id="queryPartList" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
site,
PartNo,
PartDescription as part_desc,
sku,
spec
FROM part
<where>
site = #{site}
<if test = "partNo != null and partNo != ''">
AND PartNo LIKE '%' + #{partNo} + '%'
</if>
<if test = "partDesc != null and partDesc != ''">
AND PartDescription LIKE '%' + #{partDesc} + '%'
</if>
<if test = "sku != null and sku != ''">
AND sku LIKE '%' + #{sku} + '%'
</if>
</where>
</select>
<!-- 查询单位列表 -->
<select id="umSearch" resultType="com.heai.modules.pms.data.QcFAIRecordData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT
site,
UMID as umId,
UMName as umName
FROM UM
WHERE site = #{site} and active = #{active}
</select>
<!-- 查询单位列表 -->
<select id="checkItem" resultType="com.heai.modules.pms.data.SubDetailValues" parameterType="com.heai.modules.pms.data.SubDetailValues">
SELECT
site,
bu_no,
inspection_no,
item_no,
value_type_db,
min_value,
max_value
<if test = "flag == 'IPQC'">
FROM qc_ipqc_detailed_record
</if>
<if test = "flag == 'IQC'">
FROM qc_iqc_detailed_record
</if>
<if test = "flag == 'FQC'">
FROM qc_fqc_detailed_record
</if>
<if test = "flag == 'FAI'">
FROM qc_fai_detailed_record
</if>
WHERE site = #{site} and inspection_no = #{inspectionNo} and item_no = #{itemNo} and bu_no = #{buNo}
order by order_id
</select>
<!-- 查询检验方法列表 -->
<select id="queryMethodList" resultType="com.heai.modules.pms.data.QcMethodData" parameterType="com.heai.modules.pms.data.QcMethodData">
SELECT
site,
bu_no,
method_no,
method_name,
inspection_type_no,
dbo.qc_get_inspection_type_name(site, inspection_type_no) as inspectionTypeName
FROM qc_method
<where>
site = #{site}
<if test = "methodNo != null and methodNo != ''">
AND method_no LIKE '%' + #{methodNo} + '%'
</if>
<if test = "methodName != null and methodName != ''">
AND method_name LIKE '%' + #{methodName} + '%'
</if>
<if test = "inspectionTypeNo != null and inspectionTypeNo != ''">
AND inspection_type_no = #{inspectionTypeNo}
</if>
<if test="inspectionTypeName != null and inspectionTypeName != ''">
AND dbo.qc_get_inspection_type_name(site, inspection_type_no) = #{inspectionTypeName}
</if>
</where>
</select>
<!-- 修改detailFlag字段为N -->
<update id="updateIQCDetailFlag" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_record
SET detail_flag = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- 查询检验方法唯一 -->
<select id="checkMethodOnlyOne" resultType="com.heai.modules.pms.data.QcMethodData" parameterType="com.heai.modules.pms.data.QcMethodData">
SELECT
site,
bu_no,
method_no
FROM qc_method
<where>
site = #{site} and bu_no = #{buNo} and method_no = #{methodNo}
</where>
</select>
<!-- 查询检验项目唯一 -->
<select id="checkItemOnlyOne" resultType="com.heai.modules.pms.data.QcItemData" parameterType="com.heai.modules.pms.data.QcItemData">
SELECT
site,
bu_no,
ItemNo,
ItemDesc
FROM eam_properties_item
<where>
site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType} and inspection_type_no = #{inspectionTypeNo}
</where>
</select>
<!-- 查询检验项目唯一 -->
<select id="checkTemplateOnlyOne" resultType="com.heai.modules.pms.data.QcTemplateData" parameterType="com.heai.modules.pms.data.QcTemplateData">
SELECT
site,
bu_no,
template_id,
template_name
FROM qc_template
<where>
site = #{site} and template_id = #{templateId}
</where>
</select>
<select id="searchSeqInfo" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT DISTINCT
a.seqno,
a.orderno,
J.PartNo,
J.PartDescription as partDesc,
t.lotsize,
a.qtyrequired,
c.OperationDesc,
J.sku,
sum(roll_qty) as sjzs,
sum(roll_qty) as roll_qty
FROM soscheduledrouting AS a
inner JOIN RoutingDetail AS c ON c.site = a.site and a.partNO = C.PartNo AND a.itemno = c.itemNo
inner JOIN part AS J ON a.site = J.site AND a.partNo = J.PartNo
inner JOIN shoporder AS t ON a.site = t.site AND t.orderno = a.orderno
left join qc_ipqc_record as r on a.site = r.site and a.seqno = r.seq_no
WHERE
a.site = #{query.site}
<if test="query.orderNo != null and query.orderNo != ''">
AND a.orderno LIKE '%' + #{query.orderNo} + '%'
</if>
<if test="query.seqNo != null and query.seqNo != ''">
AND a.seqno LIKE '%' + #{query.seqNo} + '%'
</if>
<if test="query.sku != null and query.sku != ''">
AND j.sku LIKE '%' + #{query.sku} + '%'
</if>
<if test="query.partNo != null and query.partNo != ''">
AND J.PartNo LIKE '%' + #{query.partNo} + '%'
</if>
<if test="query.partDesc != null and query.partDesc != ''">
AND J.PartDescription LIKE '%' + #{query.partDesc} + '%'
</if>
<if test="query.operationDesc != null and query.operationDesc != ''">
AND c.OperationDesc LIKE '%' + #{query.operationDesc} + '%'
</if>
<if test="query.status != null and query.status != ''">
AND a.ClosedFlag = #{query.status}
</if>
group by a.seqno, a.orderno, J.PartNo, J.PartDescription, t.lotsize, a.qtyrequired, c.OperationDesc, J.sku
</select>
<select id="searchPartInfo" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcFAIRecordData">
select
PartNo,
PartDescription as part_desc,
sku,
cinv_source_code,
sourceBu
from
part
where
site = #{query.site}
<if test="query.partNo != null and query.partNo != ''">
AND PartNo LIKE '%' + #{query.partNo} + '%'
</if>
<if test="query.partDesc != null and query.partDesc != ''">
AND PartDescription LIKE '%' + #{query.partDesc} + '%'
</if>
<if test="query.sku != null and query.sku != ''">
AND sku LIKE '%' + #{query.sku} + '%'
</if>
<if test="query.cinvSourceCode != null and query.cinvSourceCode != ''">
AND cinv_source_code LIKE '%' + #{query.cinvSourceCode} + '%'
</if>
</select>
<select id="getInterfaceTimeData" parameterType="String" resultType="com.heai.modules.pms.data.InterfaceTimeData">
SELECT
id,
start_time,
end_time,
del_flag
FROM interface_time
WHERE del_flag = 'N' and site = #{site}
</select>
<update id="updateInterfaceTimeData" parameterType="com.heai.modules.pms.data.InterfaceTimeData">
UPDATE interface_time
set
updated_by = #{updatedBy},
updated_date = #{updatedDate},
del_flag = #{delFlag}
</update>
<select id="getInterfaceRdStyleData" parameterType="String" resultType="com.heai.modules.pms.data.RdStyleData">
SELECT
crdcode,
crdname,
iRdGrade,
rdtype,
brdend
FROM view_custdev_mes_rdstyle
WHERE crdname = #{crdName}
</select>
<insert id="insertHardtagPurchaseInStorageData" parameterType="com.heai.modules.pms.data.HardtagPurchaseInStorageCountData" useGeneratedKeys="true" keyProperty="id">
INSERT INTO purchase_in_storage_count
(site, trans_no, created_date, created_by, erp_flag, toacc, logindate, cordercode, cdepcode, cwhcode, crdcode, coutcode, ddate, bredvouch,
cmemo, verify, irowno, cinvcode, iquantity, citemcode, erp_remark, trans_date, csource, trans_type)
values (#{site}, #{transNo}, #{createdDate}, #{createdBy}, #{erpFlag}, #{toacc}, #{logindate}, #{cordercode}, #{cdepcode}, #{cwhcode}, #{crdcode}, #{coutcode}, #{ddate}, #{bredvouch},
#{cmemo}, #{verify}, #{irowno}, #{cinvcode}, #{iquantity}, #{citemcode}, #{erpRemark}, #{transDate}, #{csource}, #{transType})
</insert>
<insert id="batchSaveHrdtagTransHeader" parameterType="com.heai.modules.pms.data.HardtagTransHeaderData">
insert into TransHeader
(TransNo, Site, WarehouseID, TransDate, TransType_DB, TransType, UserName, Receiver, TransYear, TransMonth, PartnerID, PartnerType, AuthorizeFlag, AuthorizeDate, Authorizor, TransferFlag, TransferDate,
TransferGuys, VoucherDate, ProjectID, EnterDate, Remark, UseLocation, OrderRef1, LinkOrderFlag, DelAddID, Status, ProjectName, PartnerName, erp_warehouse_id, ERP,
department_no, picking_status, scan_type, inCategory, pmProject, remarks, item_no_mat, remark3, location_id, count_id)
values (#{TransNo}, #{Site}, #{WarehouseID}, #{TransDate}, #{TransTypeDB}, #{TransType}, #{UserName}, #{Receiver}, #{TransYear}, #{TransMonth}, #{PartnerID}, #{PartnerType}, #{AuthorizeFlag}, #{AuthorizeDate}, #{Authorizor}, #{TransferFlag}, #{TransferDate},
#{TransferGuys}, #{VoucherDate}, #{ProjectID}, #{EnterDate}, #{Remark}, #{UseLocation}, #{OrderRef1}, #{LinkOrderFlag}, #{DelAddID}, #{Status}, #{ProjectName}, #{PartnerName}, #{erpWarehouseId}, #{ERP},
#{departmentNo}, #{pickingStatus}, #{scanType}, #{inCategory}, #{pmProject}, #{remarks}, #{itemNoMat}, #{remark3}, #{locationId}, #{countId})
</insert>
<insert id="batchSaveHardtagTransDetail" parameterType="com.heai.modules.pms.data.HardtagTransDetailData">
INSERT INTO TransDetail
(TransNo, Site, PartNo, LocationID, TransQty, Direction, OrderRef1, ItemNo, OrderRef2, OrderRef3, OrderRef5, Remark, citem_code)
values
(#{TransNo}, #{Site}, #{PartNo}, #{LocationID}, #{TransQty}, #{Direction}, #{OrderRef1}, #{ItemNo}, #{OrderRef2}, #{OrderRef3}, #{OrderRef5}, #{Remark}, #{citemCode})
</insert>
<select id="getSendMailAddress" parameterType="String" resultType="com.heai.modules.pms.data.MailAddressData">
SELECT
id,
site,
bu_no,
mail_address,
send_type,
del_flag,
created_by,
created_date,
orderref1
FROM mailAddress
WHERE site = #{site} and send_type = #{type} and del_flag = 'N'
<if test="buNo != null and buNo != ''">
AND bu_no = #{buNo}
</if>
</select>
<select id="getSendMailFromAddress" resultType="com.heai.modules.pms.data.MailSendAddressData">
SELECT
port,
host,
username,
password,
emailForm,
timeout,
personal,
id
FROM mailSendAddress
where delFlag = 'N'
</select>
<!-- 新增发送邮件记录 -->
<insert id="saveSendMailRecord" parameterType="com.heai.modules.pms.data.SendMailRecord">
insert into send_mail_record
(site, bu_no, document_no, sender, recipient, send_date, type)
values
(#{site}, #{buNo}, #{documentNo}, #{sender}, #{recipient}, getDate(), #{type})
</insert>
<select id="orderTypeSearch" resultType="com.heai.modules.pms.data.QcFAIRecordData">
SELECT distinct
order_type
FROM view_po_order
</select>
<update id="actionIQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
update qc_iqc_record
set action_date = getDate(),
action_by = #{actionBy},
state = #{state}
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</update>
<update id="actionSQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
update qc_sqc_record
set action_date = getDate(),
action_by = #{actionBy},
state = #{state}
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</update>
<update id="actionFAIInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
update qc_fai_record
set action_date = getDate(),
action_by = #{actionBy},
state = #{state}
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</update>
<update id="actionIPQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
update qc_ipqc_record
set action_date = getDate(),
action_by = #{actionBy},
state = #{state}
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</update>
<update id="actionFQCInspection" parameterType="com.heai.modules.pms.data.EamObjectInData">
update qc_fqc_record
set action_date = getDate(),
action_by = #{actionBy},
state = #{state}
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</update>
<insert id="addEquipmentDataAcquisition">
insert into Equipment_data_acquisition
(site, bu_no, equipment_no, inspection_no, create_date, create_by, item_no, collection_source, collection_method)
values
<foreach collection="list" item="item" separator=",">
(#{item.site}, #{item.buNo}, #{item.equipmentNo}, #{item.inspectionNo}, getDate(), #{item.actionBy}, #{item.itemNo}, #{item.collectionSource}, #{item.collectionMethod})
</foreach>
</insert>
<!-- 新增人员信息 -->
<insert id="saveOperator" >
INSERT INTO eam_actual_operator
(site, order_no, function_type, operator, bu_no)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.site}, #{item.orderNo}, #{item.functionType}, #{item.operator}, #{item.buNo})
</foreach>
</insert>
<!-- 删除之前的人员-->
<delete id="delOperator" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
DELETE FROM eam_actual_operator
WHERE site = #{site} and order_no = #{inspectionNo} and bu_no = #{buNo}
</delete>
<select id="getInspectionNo" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
select distinct
site,
bu_no,
equipment_no,
inspection_no,
item_no,
collection_source,
collection_method
from Equipment_data_acquisition
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</select>
<select id="getInspectionNoByItem" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
select distinct
site,
bu_no,
equipment_no,
inspection_no,
item_no,
collection_source,
collection_method
from Equipment_data_acquisition
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} and item_no = #{itemNo}
</select>
<select id="dataAcquisition" parameterType="com.heai.modules.pms.data.EquipmentDataAcquisitionData" resultType="com.heai.modules.pms.data.SubDetailValues">
select
id,
site,
bu_no,
#{inspectionNo} as inspectionNo,
#{itemNo} as itemNo,
<if test='subDetailValueType == 0'>
${collectionSource} as subDetailValue,
</if>
<if test='subDetailValueType == 1'>
${collectionSource} as subDetailValueB,
</if>
<if test='subDetailValueType == 2'>
${collectionSource} as subDetailValueC,
</if>
<if test='subDetailValueType == 3'>
${collectionSource} as subDetailValueD,
</if>
<if test='subDetailValueType == 4'>
${collectionSource} as subDetailValueE,
</if>
num,
#{collectionSource} as collectionSource,
#{collectionMethod} as collectionMethod
from Equipment_data_detail
where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo} and ${collectionSource} is not null and ${collectionSource} <![CDATA[<>]]> ''
<if test='collectionMethod == "plc"'>
AND inspection_no = #{inspectionNo}
</if>
<if test='collectionMethod == "RS232"'>
AND (inspection_no is null or inspection_no = '')
</if>
<if test = "collectionDataContent != null and collectionDataContent != ''">
AND ${collectionSource} ${collectionDataContent}
</if>
and batch_no = (select MAX(batch_no) from Equipment_data_detail where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo})
</select>
<select id="dataAcquisitionB" parameterType="com.heai.modules.pms.data.EquipmentDataAcquisitionData" resultType="com.heai.modules.pms.data.SubDetailValues">
select
id,
site,
bu_no,
#{inspectionNo} as inspectionNo,
#{itemNo} as itemNo,
${collectionSource} as subDetailValueB,
num,
#{collectionSource} as collectionSource
from Equipment_data_detail
where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo} and ${collectionSource} is not null and ${collectionSource} <![CDATA[<>]]> ''
<if test='collectionMethod == "plc"'>
AND inspection_no = #{inspectionNo}
</if>
<if test='collectionMethod == "RS232"'>
AND (inspection_no is null or inspection_no = '')
</if>
and batch_no = (select MAX(batch_no) from Equipment_data_detail where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo})
</select>
<select id="dataAcquisition2" parameterType="com.heai.modules.pms.data.EquipmentDataAcquisitionData" resultType="SysOssEntity">
select
site as orderRef1,
bu_no as orderRef4,
#{inspectionNo} as orderRef2,
#{itemNo} as orderRef3,
${collectionSource} as url
from Equipment_data_detail
where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo} and ${collectionSource} is not null and ${collectionSource} <![CDATA[<>]]> ''
and batch_no = (select MAX(batch_no) from Equipment_data_detail where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo})
</select>
<select id="getIQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
select
a.site,
a.bu_no,
b.collection_condition as equipmentNo,
#{inspectionNo} as inspectionNo,
a.item_no,
b.collection_source,
#{actionBy} as actionBy,
b.collection_method
from qc_iqc_detailed_record as a
left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '105' and b.collection_flag = 'Y'
order by a.order_id
</select>
<select id="getFAIDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
select
a.site,
a.bu_no,
b.collection_condition as equipmentNo,
#{inspectionNo} as inspectionNo,
a.item_no,
b.collection_source,
#{actionBy} as actionBy,
b.collection_method
from qc_fai_detailed_record as a
left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '106' and b.collection_flag = 'Y'
order by order_id
</select>
<select id="getIPQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
select
a.site,
a.bu_no,
b.collection_condition as equipmentNo,
#{inspectionNo} as inspectionNo,
a.item_no,
b.collection_source,
#{actionBy} as actionBy,
b.collection_method
from qc_ipqc_detailed_record as a
left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '101' and b.collection_flag = 'Y'
order by a.order_id
</select>
<select id="getFQCDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.EquipmentDataAcquisitionData">
select
a.site,
a.bu_no,
b.collection_condition as equipmentNo,
#{inspectionNo} as inspectionNo,
a.item_no,
b.collection_source,
#{actionBy} as actionBy,
b.collection_method
from qc_fqc_detailed_record as a
left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '107' and b.collection_flag = 'Y'
order by a.order_id
</select>
<select id="querySubDetails" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.SubDetailValues">
select
b.site,
b.bu_no,
b.inspection_no,
b.item_no,
b.default_value,
b.min_value,
b.max_value,
b.value_type_db,
a.sub_detail_value
<if test="flag == 'iqc'">
from qc_iqc_sub_detail_record as a
left join qc_iqc_detailed_record as b on a.site = b.site and a.bu_no = b.bu_no and a.inspection_no = b.inspection_no and a.item_no = b.item_no
</if>
<if test="flag == 'ipqc'">
from qc_ipqc_sub_detail_record as a
left join qc_ipqc_detailed_record as b on a.site = b.site and a.bu_no = b.bu_no and a.inspection_no = b.inspection_no and a.item_no = b.item_no
</if>
<if test="flag == 'fqc'">
from qc_fqc_sub_detail_record as a
left join qc_fqc_detailed_record as b on a.site = b.site and a.bu_no = b.bu_no and a.inspection_no = b.inspection_no and a.item_no = b.item_no
</if>
<if test="flag == 'fai'">
from qc_fai_sub_detail_record as a
left join qc_fai_detailed_record as b on a.site = b.site and a.bu_no = b.bu_no and a.inspection_no = b.inspection_no and a.item_no = b.item_no
</if>
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and a.item_no = #{itemNo}
order by b.order_id
</select>
<insert id="saveFileList">
INSERT INTO sys_oss
(url, create_date, file_name, new_file_name, order_ref1, order_ref2, order_ref3, order_ref4)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.url}, getDate(), #{item.fileName}, #{item.newFileName}, #{item.orderRef1}, #{item.orderRef2}, #{item.orderRef3}, #{item.orderRef4})
</foreach>
</insert>
<select id="getEquipmentNoList" parameterType="com.heai.modules.pms.data.EquipmentFolderLocationData" resultType="com.heai.modules.pms.data.EquipmentFolderLocationData">
select
equipment_no
from Equipment_folder_location
where site = #{site} and bu_no = #{buNo}
</select>
<!-- 获取责任人员列表 -->
<select id="getResponsibleOperatorList" resultType="com.heai.modules.pms.data.EamAdminData" parameterType="com.heai.modules.pms.data.EamAdminData">
SELECT
operatorID as adminID,
operatorName as adminName
FROM operator
<where>
site = #{site}
<if test = "adminID != null and adminID != ''">
AND operator_id LIKE '%' + #{adminID} + '%'
</if>
<if test = "adminName != null and adminName != ''">
AND operator_name LIKE '%' + #{adminName} + '%'
</if>
</where>
</select>
<select id="getDataContentList" parameterType="com.heai.modules.pms.data.QcCollectionDataContentData" resultType="com.heai.modules.pms.data.QcCollectionDataContentData">
select
content_desc
from qc_collection_data_content
where site = #{site} and bu_no = #{buNo} and active = 'Y'
</select>
<select id="getItemCollectionDataContent" parameterType="com.heai.modules.pms.data.SubDetailValues" resultType="string">
select
collection_data_content
from eam_properties_item
where site = #{site} and bu_no = #{buNo} and ItemNo = #{itemNo}
</select>
<!-- 获取当前项目不包含的设备 -->
<select id="getObjectList1" resultType="com.heai.modules.pms.data.EamObjectInData" parameterType="com.heai.modules.pms.data.EamObjectInData">
SELECT
a.site,
a.bu_no,
a.ObjectID,
a.ObjectDesc
FROM eam_object as a
left join qc_item_object as b on a.site = b.site and a.bu_no = b.bu_no and a.ObjectID = b.ObjectID and b.ItemNo = #{itemNo}
where a.site = #{site} and a.bu_no = #{buNo} and b.ItemNo is null and a.active = 'Y'
</select>
<!-- 获取当前项目所包含的设备 -->
<select id="getObjectList2" resultType="com.heai.modules.pms.data.EamObjectInData" parameterType="com.heai.modules.pms.data.EamObjectInData">
SELECT
a.site,
a.bu_no,
a.ObjectID,
b.ObjectDesc,
a.default_flag
FROM qc_item_object a
LEFT JOIN eam_object b ON a.site = b.site and a.bu_no = b.bu_no and a.ObjectID = b.ObjectID
WHERE a.site = #{site} and a.bu_no = #{buNo} and a.ItemNo = #{itemNo}
</select>
<!-- 获取当前项目不包含的设备 -->
<select id="getObjectListBy" resultType="com.heai.modules.pms.data.EamObjectInData" parameterType="com.heai.modules.pms.data.EamObjectInData">
SELECT
a.site,
a.bu_no,
a.ObjectID,
a.ObjectDesc
FROM eam_object as a
left join qc_item_object as b on a.site = b.site and a.bu_no = b.bu_no and a.ObjectID = b.ObjectID and b.ItemNo = #{itemNo}
<where>
a.site = #{site} and a.bu_no = #{buNo} and b.ItemNo is null and a.active = 'Y'
<if test = "objectID != null and objectID != ''">
AND a.ObjectID LIKE '%' + #{objectID} + '%'
</if>
<if test = "objectDesc != null and objectDesc != ''">
AND a.ObjectDesc LIKE '%' + #{objectDesc} + '%'
</if>
</where>
</select>
<!-- 新增项目设备 -->
<insert id="addItemObject">
INSERT INTO qc_item_object
(site, bu_no, ItemNo, ObjectID, default_flag)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.site}, #{item.buNo}, #{item.itemNo}, #{item.objectID}, #{item.defaultFlag})
</foreach>
</insert>
<delete id="deleteItemObject">
DELETE FROM qc_item_object
WHERE
<foreach collection="list" item="item" separator=" or " index="index">
(site = #{item.site} and bu_no = #{item.buNo} and ItemNo = #{item.itemNo} and ObjectID = #{item.objectID})
</foreach>
</delete>
<update id="updateItemObject">
UPDATE qc_item_object
SET default_flag = #{defaultFlag}
WHERE site = #{site} and bu_no = #{buNo} and ItemNo = #{itemNo} and ObjectID = #{objectID}
</update>
<select id="getIQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
select
a.site,
a.bu_no,
a.inspection_no,
a.item_no,
a.item_desc,
b.collection_source,
b.collection_method
from qc_iqc_detailed_record as a
left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '105' and b.collection_flag = 'Y'
order by a.order_id
</select>
<select id="getSQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
select
a.site,
a.bu_no,
a.inspection_no,
a.item_no,
a.item_desc,
b.collection_source,
b.collection_method
from qc_sqc_detailed_record as a
left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '105' and b.collection_flag = 'Y'
order by a.order_id
</select>
<select id="getFAIInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
select
a.site,
a.bu_no,
a.inspection_no,
a.item_no,
a.item_desc,
b.collection_source,
b.collection_method
from qc_fai_detailed_record as a
left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '106' and b.collection_flag = 'Y'
order by a.order_id
</select>
<select id="getFQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
select
a.site,
a.bu_no,
a.inspection_no,
a.item_no,
a.item_desc,
b.collection_source,
b.collection_method
from qc_fqc_detailed_record as a
left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '107' and b.collection_flag = 'Y'
order by a.order_id
</select>
<select id="getIPQCInspectionDetail" parameterType="com.heai.modules.pms.data.EamObjectInData" resultType="com.heai.modules.pms.data.EamObjectInData">
select
a.site,
a.bu_no,
a.inspection_no,
a.item_no,
a.item_desc,
b.collection_source,
b.collection_method
from qc_ipqc_detailed_record as a
left join eam_properties_item as b on a.site = b.site and a.bu_no = b.bu_no and a.item_no = b.ItemNo
where a.site = #{site} and a.bu_no = #{buNo} and a.inspection_no = #{inspectionNo} and b.ItemType = 'D' and b.inspection_type_no = '101' and b.collection_flag = 'Y'
order by a.order_id
</select>
<delete id="deleteEquipmentDataAcquisition" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
delete from Equipment_data_acquisition
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</delete>
<select id="getInspectionStandards" parameterType="com.heai.modules.pms.data.QcInspectionStandardData" resultType="com.heai.modules.pms.data.QcInspectionStandardData">
select
site,
bu_no,
template_id,
item_no,
default_value,
min_value,
max_value,
condition,
collection_source,
seq_no
from qc_inspection_standards
where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo}
</select>
<delete id="deleteInspectionStandard" parameterType="com.heai.modules.pms.data.QcInspectionStandardData">
delete from qc_inspection_standards
where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo}
</delete>
<delete id="deleteInspectionStandard2" parameterType="com.heai.modules.pms.data.QcTemplateData">
delete from qc_inspection_standards
where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo}
</delete>
<insert id="saveInspectionStandard">
INSERT INTO qc_inspection_standards
(site, bu_no, template_id, item_no, default_value, min_value, max_value, condition, collection_source, seq_no)
VALUES
<foreach collection="list" item="item" separator=",">
(#{item.site}, #{item.buNo}, #{item.templateId}, #{item.itemNo}, #{item.defaultValue}, #{item.minValue}, #{item.maxValue}, #{item.condition}, #{item.collectionSource}, #{item.seqNo})
</foreach>
</insert>
<insert id="saveEquipmentFolderLocationList">
insert into Equipment_folder_location
(folder_path,equipment_no,site,bu_no,file_no,backup_folder_path,IP,suffix,equipment_desc,backup_photo_path,batch_date,port,register_address,
register_num,register_num_columntype,register_address_inspection,register_num_inspection,register_num_inspection_columntype,unit_id,
excel_compare_fields_x,excel_compare_fields_y,initial_line,data_row,skip_line,cutting_symbol,transparent_flag,Formula_calculation,
Formula,Group_calculation,regexp,repair_type,buzzer,create_by,create_time)
values (#{folderPath}, #{equipmentNo}, #{site}, #{buNo}, #{fileNo}, #{backupFolderPath}, #{IP}, #{suffix}, #{equipmentDesc}, #{backupPhotoPath}, #{batchDate}, #{port}, #{registerAddress},
#{registerNum}, #{registerNumColumntype}, #{registerAddressInspection}, #{registerNumInspection}, #{registerNumInspectionColumntype}, #{unitId},
#{excelCompareFieldsX}, #{excelCompareFieldsY}, #{initialLine}, #{dataRow}, #{skipLine}, #{cuttingSymbol}, #{transparentFlag}, #{formulaCalculation},
#{formula}, #{groupCalculation}, #{regexp}, #{repairType}, #{buzzer}, #{createBy}, getDate())
</insert>
<select id="getInspectionTemplateDetail" parameterType="com.heai.modules.pms.data.QcFAIRecordData" resultType="com.heai.modules.pms.data.QcInspectionStandardData">
select
site,
bu_no,
template_id,
item_no
<if test="flag == 'iqc'">
from qc_iqc_detailed_record
</if>
<if test="flag == 'ipqc'">
from qc_ipqc_detailed_record
</if>
<if test="flag == 'fqc'">
from qc_fqc_detailed_record
</if>
<if test="flag == 'fai'">
from qc_fai_detailed_record
</if>
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
order by order_id
</select>
<update id="updateEquipmentDataDetailInspectionNo" parameterType="com.heai.modules.pms.data.SubDetailValues">
update Equipment_data_detail
set inspection_no = #{inspectionNo}
where id = #{id}
</update>
<delete id="deleteInspectionFiles" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
delete sys_oss
where order_ref1 = #{site} and order_ref2 = #{inspectionNo} and order_ref4 = #{buNo}
</delete>
<select id="getUpItemdata" resultType="com.heai.modules.pms.data.QcTemplateData">
select
top 1
site,
bu_no,
template_id,
ItemNo,
order_id
from qc_template_detailed
where #{orderId} > order_id
and site = #{site}
and bu_no= #{buNo}
and template_id = #{templateId}
order by order_id desc
</select>
<select id="getDownItemdata" resultType="com.heai.modules.pms.data.QcTemplateData">
select
top 1
site,
bu_no,
template_id,
ItemNo,
order_id
from qc_template_detailed
where order_id > #{orderId}
and site = #{site}
and bu_no= #{buNo}
and template_id = #{templateId}
order by order_id
</select>
<update id="updateQcItemOrder">
update qc_template_detailed
set order_id=#{orderId}
where site = #{site}
and bu_no= #{buNo}
and template_id = #{templateId}
and ItemNo = #{itemNo}
</update>
<select id="getQCDetailOrderId" resultType="Integer">
SELECT isnull(max(order_id), 0) + 1
from qc_template_detailed
where site = #{site}
and bu_no= #{buNo}
and template_id = #{templateId}
</select>
<select id="updateQCDetailOrderIdNull">
UPDATE qc_template_detailed
SET qc_template_detailed.order_id = oi.rn
FROM (SELECT
site,
bu_no,
template_id,
ItemNo,
ROW_NUMBER() OVER (PARTITION BY site,bu_no,template_id ORDER BY ItemNo) AS rn
FROM qc_template_detailed
) as oi
where qc_template_detailed.template_id = oi.template_id
AND qc_template_detailed.ItemNo = oi.ItemNo
and qc_template_detailed.order_id is null
</select>
<select id="selectInfoByInspectionNo" resultType="com.heai.modules.pms.data.PoOrderRollNoData" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
select
site,
citem_code,
inspection_no
from po_order_roll_no
where site = #{site} and citem_code = #{buNo} and inspection_no = #{inspectionNo}
</select>
<update id="updateIQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_record
SET submit_flag = 'N',
state = '待检验',
cancel_check_by = #{updateBy},
cancel_check_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateIQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_detailed_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateIQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_iqc_sub_detail_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateFAIMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fai_record
SET submit_flag = 'N',
state = '待检验',
cancel_check_by = #{updateBy},
cancel_check_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateFAIDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fai_detailed_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateFAISubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fai_sub_detail_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateIPQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_ipqc_record
SET submit_flag = 'N',
state = '待检验',
cancel_check_by = #{updateBy},
cancel_check_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateIPQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_ipqc_detailed_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateIPQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_ipqc_sub_detail_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateFQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fqc_record
SET submit_flag = 'N',
state = '待检验',
cancel_check_by = #{updateBy},
cancel_check_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateFQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fqc_detailed_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateFQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_fqc_sub_detail_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updatePQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_pqc_record
SET submit_flag = 'N',
state = '待检验',
cancel_check_by = #{updateBy},
cancel_check_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updatePQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_pqc_detailed_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updatePQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_pqc_sub_detail_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<!-- SQC取消审核 -->
<update id="updateSQCMasterSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_sqc_record
SET submit_flag = 'N',
state = '待检验',
cancel_check_by = #{updateBy},
cancel_check_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateSQCDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_sqc_detailed_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updateSQCSubDetailSubmitFlag2" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
UPDATE qc_sqc_sub_detail_record
SET is_submit = 'N'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<delete id="deleteReceivingTaskByInspectionNo" parameterType="com.heai.modules.pms.data.QcFAIRecordData">
delete receiving_task
where site = #{site} and citem_code = #{buNo} and inspection_no = #{inspectionNo}
</delete>
<delete id="deleteEquipmentFolderLocationList">
delete from Equipment_folder_location
where id = #{id}
</delete>
<select id="getQMSTask" resultType="com.heai.modules.pms.data.QmsTaskData">
select
id,
site,
bu_no,
part_no,
operation_desc,
s_resourceid,
qtyrequired,
create_date,
create_by,
inspection_type,
type,
order_no,
seqno,
template_id,
um_id,
work_center_no
from QMS_soscheduledrouting_TASK
where ISNULL(delete_flag, '') <![CDATA[<>]]> 'Y'
</select>
<select id="getSuffixList" resultType="java.lang.String">
select distinct suffix from Equipment_folder_location
</select>
<select id="checkEquipmentFolderLocation" resultType="java.lang.Integer">
select count(1)
from Equipment_folder_location
where site = #{site} and bu_no = #{buNo} and equipment_no = #{equipmentNo}
</select>
<update id="updateQMSTaskById">
UPDATE QMS_soscheduledrouting_TASK
SET delete_flag = 'Y'
WHERE id = #{id}
</update>
<select id="queryEquipmentFolderLocationList" resultType="com.heai.modules.pms.data.QCEquipmentFolderLocation">
select efl.*
from Equipment_folder_location efl
<where>
<if test="params.site != null and params.site != ''">
and efl.site = #{params.site}
</if>
<if test="params.equipmentNo != null and params.equipmentNo != ''">
and efl.equipment_no like '%'+ #{params.equipmentNo} +'%'
</if>
<if test="params.equipmentDesc != null and params.equipmentDesc != ''">
and efl.equipment_desc like '%'+ #{params.equipmentDesc} +'%'
</if>
<if test="params.IP != null and params.IP != ''">
and efl.IP like '%'+ #{params.IP} +'%'
</if>
<if test="params.suffix != null and params.suffix != ''">
and efl.suffix like '%'+ #{params.suffix} +'%'
</if>
</where>
</select>
<select id="getPqcOperationDescList" resultType="com.heai.modules.pms.data.QcPartAttributeData">
select qro.description as operationDesc
from operation_resource a
left join qc_pqc_record_operation qro on a.operation = qro.code
GROUP BY qro.description
</select>
<select id="getQcIPQCInspection" resultType="com.heai.modules.pms.data.QcFAIRecordData">
select *
from qc_ipqc_record
where site = #{site} and seq_no = #{seqNo} and order_no = #{orderNo}
<if test=" inspectionTypeNo != null and inspectionTypeNo != ''">
and inspection_type_no = #{inspectionTypeNo}
</if>
</select>
<update id="updateEquipmentFolderLocation">
UPDATE Equipment_folder_location
SET
folder_path = #{folderPath},
equipment_no = #{equipmentNo},
bu_no = #{buNo},
file_no = #{fileNo},
backup_folder_path = #{backupFolderPath},
IP = #{IP},
suffix = #{suffix},
equipment_desc = #{equipmentDesc},
backup_photo_path = #{backupPhotoPath},
batch_date = #{batchDate},
port = #{port},
register_address = #{registerAddress},
register_num = #{registerNum},
register_num_columntype = #{registerNumColumntype},
register_address_inspection = #{registerAddressInspection},
register_num_inspection = #{registerNumInspection},
register_num_inspection_columntype = #{registerNumInspectionColumntype},
unit_id = #{unitId},
excel_compare_fields_x = #{excelCompareFieldsX},
excel_compare_fields_y = #{excelCompareFieldsY},
initial_line = #{initialLine},
data_row = #{dataRow},
skip_line = #{skipLine},
cutting_symbol = #{cuttingSymbol},
transparent_flag = #{transparentFlag},
Formula_calculation = #{formulaCalculation},
Formula = #{formula},
Group_calculation = #{groupCalculation},
regexp = #{regexp},
repair_type = #{repairType},
buzzer = #{buzzer},
update_by = #{updateBy},
update_time = getDate()
WHERE id = #{id}
</update>
<update id="updatePQCMasterSubmitFlag">
UPDATE qc_pqc_record
SET submit_flag = 'Y',
state = '已完成',
submit_date = getDate()
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updatePQCDetailSubmitFlag">
UPDATE qc_pqc_detailed_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
<update id="updatePQCSubDetailSubmitFlag">
UPDATE qc_pqc_sub_detail_record
SET is_submit = 'Y'
WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo}
</update>
</mapper>