O
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.
 
 
 
 
 
 

459 lines
21 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.xujie.sys.modules.pms.mapper.PqcMapper">
<select id="qcPQCInspectionSearch" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData" resultType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
SELECT
a.inspection_no,
a.site,
a.bu_no,
dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
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.part_desc,
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.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
FROM qc_pqc_record as a
left join part as d on a.site = d.site and a.bu_no = d.sourceBu and a.part_no = d.part_no
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>
a.site in (select site from eam_access_site where username = #{query.userName})
and (a.site + '-' + a.bu_no) in (select * from dbo.query_bu(#{query.userName}))
<if test="query.buNo != null and query.buNo != ''">
AND a.bu_no = #{query.buNo}
</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.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.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="pqcDetailSearch" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData" resultType="com.xujie.sys.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_pqc_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
FROM qc_pqc_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>
<delete id="deletePQCRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_pqc_record
WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</delete>
<delete id="deletePQCDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_pqc_detailed_record
WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</delete>
<delete id="deletePQCSubDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
DELETE FROM qc_pqc_sub_detail_record
WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</delete>
<update id="updatePQCMasterRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
UPDATE qc_pqc_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>
<update id="updatePQCDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
UPDATE qc_pqc_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>
<delete id="delPQCSubDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcSubDetailInformationData">
DELETE FROM qc_pqc_sub_detail_record
WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo}
</delete>
<delete id="deleteOperationForResource">
delete from operation_resource where id = #{id}
</delete>
<delete id="deleteUserDefaultOperation">
delete from user_default_operation where id = #{id}
</delete>
<insert id="savePQCSubDetailed">
INSERT INTO qc_pqc_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>
<select id="selectPQCSubDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.SubDetailValues" resultType="com.xujie.sys.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_pqc_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="checkPQCIsSubmit" parameterType="com.xujie.sys.modules.pms.data.SubDetailValues" resultType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
SELECT submit_flag
FROM qc_pqc_record
WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</select>
<select id="selectPQCInspectionNo" resultType="string" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
SELECT
Right('0000000000' + convert(VARCHAR(10), isnull(max(convert(INT, SUBSTRING(inspection_no, 4, 10))), 0) + 1), 8)
FROM qc_pqc_record
WHERE site = #{site} and bu_no = #{buNo}
</select>
<insert id="savePQCDetailedRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_pqc_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>
<insert id="savePQCRecord" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
INSERT INTO qc_pqc_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,change_line_time,sop_num,eam_object_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},#{changeLineTime},#{sopNum},#{eamObjectId})
</insert>
<insert id="saveUserDefaultOperation">
insert into user_default_operation(username,operation,bu,bu_no,site) VALUES(#{params.username},#{params.operation},#{params.bu},#{params.buNo},#{params.site})
</insert>
<insert id="saveOperationForResource">
insert into operation_resource (operation,resource,bu,bu_no,site) values (#{params.operation},#{params.resource},#{params.bu},#{params.buNo},#{params.site})
</insert>
<update id="actionPQCInspection" parameterType="com.xujie.sys.modules.pms.data.EamObjectInData">
update qc_pqc_record
set action_date = getDate(),
action_by = #{actionBy},
state = #{state}
where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo}
</update>
<select id="getPQCInspectionDetail" parameterType="com.xujie.sys.modules.pms.data.EamObjectInData" resultType="com.xujie.sys.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 = '108' and b.collection_flag = 'Y'
order by a.order_id
</select>
<select id="getPartAttribute" parameterType="com.xujie.sys.modules.pms.data.QcTemplateData" resultType="com.xujie.sys.modules.pms.data.QcTemplateData">
SELECT
site,
bu_no,
attribute_no,
template_id,
sampling_level_no,
sampling_programme_no,
attribute_type,
inspection_type_no
FROM qc_attribute_template
WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and inspection_type_no = #{inspectionTypeNo}
</select>
<select id="getOperationList" parameterType="com.xujie.sys.modules.pms.data.QcFAIRecordData" resultType="com.xujie.sys.modules.pms.data.QcFAIRecordData">
SELECT
DISTINCT
a.seqno as seqNo,
a.orderno as orderNo,
j.part_no,
j.part_desc,
j.invdefinetype,
j.sku,
c.operation_desc as operationDesc,
a.itemno as operationNo,
a.s_resourceid as resourceId,
DBO.getResourceDesc(a.site, a.s_resourceid) as resourceDesc,
c.work_center_no,
qat.template_id,
qt.template_name
FROM soscheduledrouting as a
LEFT JOIN so_routing as c ON a.site = c.site and c.order_no = a.orderno and a.itemno = c.item_no
LEFT JOIN part as j ON a.site = j.site and a.part_no = j.part_no
LEFT JOIN qc_attribute_template as qat on j.site = qat.site and j.sourceBu = qat.bu_no and j.part_no = qat.attribute_no and qat.inspection_type_no = #{inspectionTypeNo}
LEFT JOIN qc_template as qt on qat.site = qt.site and qat.bu_no = qt.bu_no and qat.template_id = qt.template_id
WHERE a.site = #{site} and a.seqno = #{seqNo}
</select>
<select id="queytOperationList" resultType="com.xujie.sys.modules.pms.data.QcPqcRecordOperation">
select * FROM qc_pqc_record_operation
</select>
<select id="queryUserDefaultOperationList" resultType="com.xujie.sys.modules.pms.data.UserDefaultOperation">
select udo.*,
dbo.get_bu_desc(udo.site, udo.bu_no) as buDesc,
su.user_display,
qro.description as operationDesc
from user_default_operation udo
left join sys_user su on su.username = udo.username
left join qc_pqc_record_operation qro on udo.operation = qro.code
<where>
<if test="params.bu != null and params.bu != ''">
and udo.bu =#{params.bu}
</if>
<if test="params.username != null and params.username != ''">
and udo.username like '%'+#{params.username}+'%'
</if>
<if test="params.operation != null and params.operation != ''">
and udo.operation =#{params.operation}
</if>
<if test="params.bu != null and params.bu != ''">
and udo.bu = #{params.bu}
</if>
</where>
order by id
</select>
<select id="queryUserDefaultOperationListByUsername" resultType="com.xujie.sys.modules.pms.data.UserDefaultOperation">
select * from user_default_operation where username = #{username}
</select>
<select id="queryPartDescByNo" resultType="com.xujie.sys.modules.orderIssure.vo.Part">
select * from part
<where>
<if test="1==1">
and active = 'Y'
</if>
<if test="params.partNo != null and params.partNo != ''">
and part_no like '%'+#{params.partNo}+'%'
</if>
<if test="params.partDesc != null and params.partDesc != ''">
and part_desc like '%'+#{params.partDesc}+'%'
</if>
</where>
</select>
<select id="queryOperationForResourceList" resultType="com.xujie.sys.modules.pms.data.OperationForResource">
SELECT a.*,
dbo.get_bu_desc(a.site, a.bu_no) as buDesc,
b.resource_desc,
qro.description as operationDesc
FROM operation_resource a
left join resource b on a.resource = b.resource_id
left join qc_pqc_record_operation qro on a.operation = qro.code
<where>
<if test="params.bu != null and params.bu != ''">
and a.bu =#{params.bu}
</if>
<if test="params.operation != null and params.operation != ''">
and operation =#{params.operation}
</if>
<if test="params.resource != null and params.resource != ''">
and resource like '%'+ #{params.resource}+'%'
</if>
</where>
</select>
<select id="queryResourceList" resultType="com.xujie.sys.modules.pms.data.ResourceData">
select * from resource
</select>
<select id="queryOperationResourceList" resultType="com.xujie.sys.modules.pms.data.OperationForResource">
select *
from operation_resource a
where operation = #{operation}
</select>
<select id="queryEamObjectlist" resultType="com.xujie.sys.modules.pms.data.EamObjectData">
select * from eam_object
<where>
<if test="resourceID != null and resourceID != ''">
and ResourceID =#{resourceID}
</if>
<if test="1==1">
and active = 'Y'
</if>
</where>
</select>
<select id="getHuanXianSysUserList" resultType="com.xujie.sys.modules.sys.entity.SysUserEntity">
select * from sys_user
where user_id in (select user_id from sys_user_role where role_id = 97)
</select>
<select id="getAllUserList" resultType="com.xujie.sys.modules.sys.entity.SysUserEntity">
select * from sys_user
<where>
<if test="username != null and username != ''">
and username like '%'+ #{username} +'%'
</if>
<if test="userDisplay != null and userDisplay != ''">
and user_display like '%'+ #{userDisplay}+'%'
</if>
</where>
</select>
<select id="queryResourceList2" resultType="com.xujie.sys.modules.pms.data.ResourceData">
select * from resource
<where>
<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>
</mapper>