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.
 
 
 
 
 
 

249 lines
9.2 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.modules.quality.mapper.QualityIssueMapper">
<select id="queryPage" resultType="com.xujie.modules.quality.entity.QualityIssue">
SELECT
qi.site,
qi.issue_no AS issueNo,
qi.issue_date AS issueDate,
qi.supplier_no AS supplierNo,
s.supplier_name AS supplierName,
qi.supplier_responsible AS supplierResponsible,
qi.plant AS plant,
qi.claim_no AS claimNo,
qi.product_category AS productCategory,
qi.part_no AS partNo,
qi.inspector AS inspector,
qi.level_no AS levelNo,
qi.mode1 AS mode1,
qi.mode2 AS mode2,
qi.mode3 AS mode3,
qi.po_no AS poNo,
qi.batch_qty AS batchQty,
qi.reject_batch_qty AS rejectBatchQty,
qi.receive_complaint_date AS receiveComplaintDate,
qi.receive_sample_date AS receiveSampleDate,
qi.issue_category AS issueCategory,
qi.issue_summary AS issueSummary,
qi.issue_description AS issueDescription,
qi.require_reply_date AS requireReplyDate,
qi.status,
qir.reply_by AS replyBy,
qir.reply_time AS replyTime,
qi.create_by AS createBy,
qi.create_date AS createDate,
qi.update_by AS updateBy,
qi.update_date AS updateDate,
qir.analysis AS analysis,
qir.corrective_action AS correctiveAction,
qir.why_escape AS whyEscape,
qic.claim_flag AS claimFlag,
qic.claim_amount AS claimAmount,
qic.disposal_remark AS disposalRemark,
qic.entry_by AS entryBy,
qic.entry_date AS entryDate,
qi.close_by AS closeBy,
qi.close_time AS closeTime
FROM srm_quality_issue qi
LEFT JOIN srm_supplier s
ON qi.supplier_no = s.supplier_no
AND qi.site = s.site
LEFT JOIN srm_quality_issue_reply qir
ON qi.site = qir.site
AND qi.issue_no = qir.issue_no
LEFT JOIN srm_quality_issue_claim qic
ON qi.site = qic.site
AND qi.issue_no = qic.issue_no
<where>
<if test="qualityIssue.site != null and qualityIssue.site != ''">
AND qi.site = #{qualityIssue.site}
</if>
<if test="qualityIssue.issueNo != null and qualityIssue.issueNo != ''">
AND qi.issue_no LIKE '%' + #{qualityIssue.issueNo} + '%'
</if>
<if test="qualityIssue.issueDate != null">
AND CAST(qi.issue_date AS DATE) = #{qualityIssue.issueDate}
</if>
<if test="qualityIssue.supplierNo != null and qualityIssue.supplierNo != ''">
AND qi.supplier_no LIKE '%' + #{qualityIssue.supplierNo} + '%'
</if>
<if test="qualityIssue.supplierName != null and qualityIssue.supplierName != ''">
AND s.supplier_name LIKE '%' + #{qualityIssue.supplierName} + '%'
</if>
<if test="qualityIssue.issueCategory != null and qualityIssue.issueCategory != ''">
AND qi.issue_category = #{qualityIssue.issueCategory}
</if>
<if test="qualityIssue.status != null and qualityIssue.status != ''">
AND qi.status = #{qualityIssue.status}
</if>
<if test="qualityIssue.claimNo != null and qualityIssue.claimNo != ''">
AND qi.claim_no = #{qualityIssue.claimNo}
</if>
<if test="qualityIssue.plant != null and qualityIssue.plant != ''">
AND qi.plant = #{qualityIssue.plant}
</if>
<if test="qualityIssue.productCategory != null and qualityIssue.productCategory != ''">
AND qi.product_category = #{qualityIssue.productCategory}
</if>
<if test="qualityIssue.poNo != null and qualityIssue.poNo != ''">
AND qi.po_no LIKE '%' + #{qualityIssue.poNo} + '%'
</if>
<if test="qualityIssue.partNo != null and qualityIssue.partNo != ''">
AND qi.part_no LIKE '%' + #{qualityIssue.partNo} + '%'
</if>
</where>
ORDER BY
ISNULL(qi.create_date, qi.issue_date) DESC,
qi.issue_no DESC
</select>
<select id="getByIssueNo" resultType="com.xujie.modules.quality.entity.QualityIssue">
SELECT
site,
issue_no,
issue_date,
supplier_no,
issue_category,
issue_summary,
issue_description,
require_reply_date,
status,
create_by,
create_date,
update_by,
update_date,
supplier_responsible,
plant,
claim_no,
product_category,
part_no,
inspector,
level_no,
mode1,
mode2,
mode3,
po_no,
batch_qty,
reject_batch_qty,
receive_complaint_date,
receive_sample_date
FROM srm_quality_issue
WHERE site = #{site}
AND issue_no = #{issueNo}
</select>
<insert id="insertIssue">
INSERT INTO srm_quality_issue
(
site,
issue_no,
issue_date,
supplier_no,
supplier_responsible,
plant,
claim_no,
part_no,
product_category,
po_no,
batch_qty,
reject_batch_qty,
receive_complaint_date,
receive_sample_date,
issue_category,
issue_summary,
issue_description,
inspector,
level_no,
mode1,
mode2,
mode3,
require_reply_date,
status,
create_by,
create_date
)
VALUES
(
#{site},
#{issueNo},
#{issueDate},
#{supplierNo},
#{supplierResponsible},
#{plant},
#{claimNo},
#{partNo},
#{productCategory},
#{poNo},
#{batchQty},
#{rejectBatchQty},
#{receiveComplaintDate},
#{receiveSampleDate},
#{issueCategory},
#{issueSummary},
#{issueDescription},
#{inspector},
#{levelNo},
#{mode1},
#{mode2},
#{mode3},
#{requireReplyDate},
#{status},
#{createBy},
#{createDate}
)
</insert>
<update id="updateByIssueNo">
UPDATE srm_quality_issue
SET
issue_date = #{qualityIssue.issueDate},
supplier_responsible = #{qualityIssue.supplierResponsible},
plant = #{qualityIssue.plant},
claim_no = #{qualityIssue.claimNo},
product_category = #{qualityIssue.productCategory},
part_no = #{qualityIssue.partNo},
po_no = #{qualityIssue.poNo},
batch_qty = #{qualityIssue.batchQty},
reject_batch_qty = #{qualityIssue.rejectBatchQty},
receive_complaint_date = #{qualityIssue.receiveComplaintDate},
receive_sample_date = #{qualityIssue.receiveSampleDate},
issue_category = #{qualityIssue.issueCategory},
issue_summary = #{qualityIssue.issueSummary},
issue_description = #{qualityIssue.issueDescription},
inspector = #{qualityIssue.inspector},
level_no = #{qualityIssue.levelNo},
mode1 = #{qualityIssue.mode1},
mode2 = #{qualityIssue.mode2},
mode3 = #{qualityIssue.mode3},
require_reply_date = #{qualityIssue.requireReplyDate},
update_by = #{qualityIssue.updateBy},
update_date = #{qualityIssue.updateDate}
WHERE site = #{qualityIssue.site}
AND issue_no = #{qualityIssue.issueNo}
</update>
<delete id="deleteByIssueNo">
DELETE FROM srm_quality_issue
WHERE site = #{qualityIssue.site}
AND issue_no = #{qualityIssue.issueNo}
</delete>
<update id="closeIssue">
UPDATE srm_quality_issue
SET
status = '已关闭',
close_by = #{qualityIssue.closeBy},
close_time = #{qualityIssue.closeTime},
update_by = #{qualityIssue.closeBy},
update_date = #{qualityIssue.closeTime}
WHERE site = #{qualityIssue.site}
AND issue_no = #{qualityIssue.issueNo}
</update>
<update id="updateStatusByIssueNo">
UPDATE srm_quality_issue
SET status = #{status}
WHERE site = #{site}
AND issue_no = #{issueNo}
</update>
</mapper>