Browse Source

查询bug

master
han\hanst 1 month ago
parent
commit
c3cb1deac9
  1. 3
      src/main/java/com/xujie/sys/modules/pms/data/ProofDocumentData.java
  2. 65
      src/main/resources/mapper/pms/ProofingInformationMapper.xml

3
src/main/java/com/xujie/sys/modules/pms/data/ProofDocumentData.java

@ -98,6 +98,9 @@ public class ProofDocumentData extends ProofingInformationData {
@TableField(exist = false) @TableField(exist = false)
private Integer ossId; private Integer ossId;
@TableField(exist = false)
private String projectLeader;
public Integer getUserId() { public Integer getUserId() {
return userId; return userId;
} }

65
src/main/resources/mapper/pms/ProofingInformationMapper.xml

@ -320,6 +320,27 @@
<if test="query.engineer != null and query.engineer != ''"> <if test="query.engineer != null and query.engineer != ''">
and engineer = #{query.engineer} and engineer = #{query.engineer}
</if> </if>
<if test="query.projectLeader != null and query.projectLeader != ''">
AND (
CASE
WHEN responsible_department = 'R001' AND CHARINDEX('-', ISNULL(project_manager, '')) > 0 THEN SUBSTRING(project_manager, CHARINDEX('-', project_manager) + 1, LEN(project_manager))
WHEN responsible_department = 'R002' AND CHARINDEX('-', ISNULL(project_owner, '')) > 0 THEN SUBSTRING(project_owner, CHARINDEX('-', project_owner) + 1, LEN(project_owner))
WHEN responsible_department = 'R004' AND CHARINDEX('-', ISNULL(engineer, '')) > 0 THEN SUBSTRING(engineer, CHARINDEX('-', engineer) + 1, LEN(engineer))
WHEN responsible_department = 'R005' AND CHARINDEX('-', ISNULL(c_quality_engineer1, '')) > 0 THEN SUBSTRING(c_quality_engineer1, CHARINDEX('-', c_quality_engineer1) + 1, LEN(c_quality_engineer1))
WHEN responsible_department = 'R007' AND CHARINDEX('-', ISNULL(c_quality_engineer2, '')) > 0 THEN SUBSTRING(c_quality_engineer2, CHARINDEX('-', c_quality_engineer2) + 1, LEN(c_quality_engineer2))
WHEN responsible_department = 'R008' AND CHARINDEX('-', ISNULL(c_quality_engineer3, '')) > 0 THEN SUBSTRING(c_quality_engineer3, CHARINDEX('-', c_quality_engineer3) + 1, LEN(c_quality_engineer3))
WHEN responsible_department = 'R009' AND CHARINDEX('-', ISNULL(c_manufacture_engineer, '')) > 0 THEN SUBSTRING(c_manufacture_engineer, CHARINDEX('-', c_manufacture_engineer) + 1, LEN(c_manufacture_engineer))
WHEN responsible_department = 'R011' AND CHARINDEX('-', ISNULL(c_quality_engineer4, '')) > 0 THEN SUBSTRING(c_quality_engineer4, CHARINDEX('-', c_quality_engineer4) + 1, LEN(c_quality_engineer4))
WHEN responsible_department = 'R012' AND CHARINDEX('-', ISNULL(doc_engineer, '')) > 0 THEN SUBSTRING(doc_engineer, CHARINDEX('-', doc_engineer) + 1, LEN(doc_engineer))
WHEN responsible_department = 'R013' AND CHARINDEX('-', ISNULL(c_quality_engineer5, '')) > 0 THEN SUBSTRING(c_quality_engineer5, CHARINDEX('-', c_quality_engineer5) + 1, LEN(c_quality_engineer5))
WHEN responsible_department = 'R014' AND CHARINDEX('-', ISNULL(c_quality_engineer6, '')) > 0 THEN SUBSTRING(c_quality_engineer6, CHARINDEX('-', c_quality_engineer6) + 1, LEN(c_quality_engineer6))
WHEN responsible_department = 'R015' AND CHARINDEX('-', ISNULL(ipqc_hard_tag, '')) > 0 THEN SUBSTRING(ipqc_hard_tag, CHARINDEX('-', ipqc_hard_tag) + 1, LEN(ipqc_hard_tag))
WHEN responsible_department = 'R016' AND CHARINDEX('-', ISNULL(c_quality_engineer7, '')) > 0 THEN SUBSTRING(c_quality_engineer7, CHARINDEX('-', c_quality_engineer7) + 1, LEN(c_quality_engineer7))
WHEN responsible_department = 'R017' AND CHARINDEX('-', ISNULL(doc_engineer2, '')) > 0 THEN SUBSTRING(doc_engineer2, CHARINDEX('-', doc_engineer2) + 1, LEN(doc_engineer2))
ELSE ''
END
) = #{query.projectLeader}
</if>
<if test="query.finalPartNo != null and query.finalPartNo != ''"> <if test="query.finalPartNo != null and query.finalPartNo != ''">
and final_part_no = #{query.finalPartNo} and final_part_no = #{query.finalPartNo}
</if> </if>
@ -443,6 +464,29 @@
AND engineer = #{query.engineer} AND engineer = #{query.engineer}
]]> ]]>
</if> </if>
<if test="query.projectLeader != null and query.projectLeader != ''">
<![CDATA[
AND (
CASE
WHEN responsible_department = 'R001' AND CHARINDEX('-', ISNULL(project_manager, '')) > 0 THEN SUBSTRING(project_manager, CHARINDEX('-', project_manager) + 1, LEN(project_manager))
WHEN responsible_department = 'R002' AND CHARINDEX('-', ISNULL(project_owner, '')) > 0 THEN SUBSTRING(project_owner, CHARINDEX('-', project_owner) + 1, LEN(project_owner))
WHEN responsible_department = 'R004' AND CHARINDEX('-', ISNULL(engineer, '')) > 0 THEN SUBSTRING(engineer, CHARINDEX('-', engineer) + 1, LEN(engineer))
WHEN responsible_department = 'R005' AND CHARINDEX('-', ISNULL(c_quality_engineer1, '')) > 0 THEN SUBSTRING(c_quality_engineer1, CHARINDEX('-', c_quality_engineer1) + 1, LEN(c_quality_engineer1))
WHEN responsible_department = 'R007' AND CHARINDEX('-', ISNULL(c_quality_engineer2, '')) > 0 THEN SUBSTRING(c_quality_engineer2, CHARINDEX('-', c_quality_engineer2) + 1, LEN(c_quality_engineer2))
WHEN responsible_department = 'R008' AND CHARINDEX('-', ISNULL(c_quality_engineer3, '')) > 0 THEN SUBSTRING(c_quality_engineer3, CHARINDEX('-', c_quality_engineer3) + 1, LEN(c_quality_engineer3))
WHEN responsible_department = 'R009' AND CHARINDEX('-', ISNULL(c_manufacture_engineer, '')) > 0 THEN SUBSTRING(c_manufacture_engineer, CHARINDEX('-', c_manufacture_engineer) + 1, LEN(c_manufacture_engineer))
WHEN responsible_department = 'R011' AND CHARINDEX('-', ISNULL(c_quality_engineer4, '')) > 0 THEN SUBSTRING(c_quality_engineer4, CHARINDEX('-', c_quality_engineer4) + 1, LEN(c_quality_engineer4))
WHEN responsible_department = 'R012' AND CHARINDEX('-', ISNULL(doc_engineer, '')) > 0 THEN SUBSTRING(doc_engineer, CHARINDEX('-', doc_engineer) + 1, LEN(doc_engineer))
WHEN responsible_department = 'R013' AND CHARINDEX('-', ISNULL(c_quality_engineer5, '')) > 0 THEN SUBSTRING(c_quality_engineer5, CHARINDEX('-', c_quality_engineer5) + 1, LEN(c_quality_engineer5))
WHEN responsible_department = 'R014' AND CHARINDEX('-', ISNULL(c_quality_engineer6, '')) > 0 THEN SUBSTRING(c_quality_engineer6, CHARINDEX('-', c_quality_engineer6) + 1, LEN(c_quality_engineer6))
WHEN responsible_department = 'R015' AND CHARINDEX('-', ISNULL(ipqc_hard_tag, '')) > 0 THEN SUBSTRING(ipqc_hard_tag, CHARINDEX('-', ipqc_hard_tag) + 1, LEN(ipqc_hard_tag))
WHEN responsible_department = 'R016' AND CHARINDEX('-', ISNULL(c_quality_engineer7, '')) > 0 THEN SUBSTRING(c_quality_engineer7, CHARINDEX('-', c_quality_engineer7) + 1, LEN(c_quality_engineer7))
WHEN responsible_department = 'R017' AND CHARINDEX('-', ISNULL(doc_engineer2, '')) > 0 THEN SUBSTRING(doc_engineer2, CHARINDEX('-', doc_engineer2) + 1, LEN(doc_engineer2))
ELSE ''
END
) = #{query.projectLeader}
]]>
</if>
<if test="query.finalPartNo != null and query.finalPartNo != ''"> <if test="query.finalPartNo != null and query.finalPartNo != ''">
<![CDATA[ <![CDATA[
and final_part_no = #{query.finalPartNo} and final_part_no = #{query.finalPartNo}
@ -550,6 +594,27 @@
<if test="query.engineer != null and query.engineer != ''"> <if test="query.engineer != null and query.engineer != ''">
and engineer = #{query.engineer} and engineer = #{query.engineer}
</if> </if>
<if test="query.projectLeader != null and query.projectLeader != ''">
AND (
CASE
WHEN responsible_department = 'R001' AND CHARINDEX('-', ISNULL(project_manager, '')) > 0 THEN SUBSTRING(project_manager, CHARINDEX('-', project_manager) + 1, LEN(project_manager))
WHEN responsible_department = 'R002' AND CHARINDEX('-', ISNULL(project_owner, '')) > 0 THEN SUBSTRING(project_owner, CHARINDEX('-', project_owner) + 1, LEN(project_owner))
WHEN responsible_department = 'R004' AND CHARINDEX('-', ISNULL(engineer, '')) > 0 THEN SUBSTRING(engineer, CHARINDEX('-', engineer) + 1, LEN(engineer))
WHEN responsible_department = 'R005' AND CHARINDEX('-', ISNULL(c_quality_engineer1, '')) > 0 THEN SUBSTRING(c_quality_engineer1, CHARINDEX('-', c_quality_engineer1) + 1, LEN(c_quality_engineer1))
WHEN responsible_department = 'R007' AND CHARINDEX('-', ISNULL(c_quality_engineer2, '')) > 0 THEN SUBSTRING(c_quality_engineer2, CHARINDEX('-', c_quality_engineer2) + 1, LEN(c_quality_engineer2))
WHEN responsible_department = 'R008' AND CHARINDEX('-', ISNULL(c_quality_engineer3, '')) > 0 THEN SUBSTRING(c_quality_engineer3, CHARINDEX('-', c_quality_engineer3) + 1, LEN(c_quality_engineer3))
WHEN responsible_department = 'R009' AND CHARINDEX('-', ISNULL(c_manufacture_engineer, '')) > 0 THEN SUBSTRING(c_manufacture_engineer, CHARINDEX('-', c_manufacture_engineer) + 1, LEN(c_manufacture_engineer))
WHEN responsible_department = 'R011' AND CHARINDEX('-', ISNULL(c_quality_engineer4, '')) > 0 THEN SUBSTRING(c_quality_engineer4, CHARINDEX('-', c_quality_engineer4) + 1, LEN(c_quality_engineer4))
WHEN responsible_department = 'R012' AND CHARINDEX('-', ISNULL(doc_engineer, '')) > 0 THEN SUBSTRING(doc_engineer, CHARINDEX('-', doc_engineer) + 1, LEN(doc_engineer))
WHEN responsible_department = 'R013' AND CHARINDEX('-', ISNULL(c_quality_engineer5, '')) > 0 THEN SUBSTRING(c_quality_engineer5, CHARINDEX('-', c_quality_engineer5) + 1, LEN(c_quality_engineer5))
WHEN responsible_department = 'R014' AND CHARINDEX('-', ISNULL(c_quality_engineer6, '')) > 0 THEN SUBSTRING(c_quality_engineer6, CHARINDEX('-', c_quality_engineer6) + 1, LEN(c_quality_engineer6))
WHEN responsible_department = 'R015' AND CHARINDEX('-', ISNULL(ipqc_hard_tag, '')) > 0 THEN SUBSTRING(ipqc_hard_tag, CHARINDEX('-', ipqc_hard_tag) + 1, LEN(ipqc_hard_tag))
WHEN responsible_department = 'R016' AND CHARINDEX('-', ISNULL(c_quality_engineer7, '')) > 0 THEN SUBSTRING(c_quality_engineer7, CHARINDEX('-', c_quality_engineer7) + 1, LEN(c_quality_engineer7))
WHEN responsible_department = 'R017' AND CHARINDEX('-', ISNULL(doc_engineer2, '')) > 0 THEN SUBSTRING(doc_engineer2, CHARINDEX('-', doc_engineer2) + 1, LEN(doc_engineer2))
ELSE ''
END
) = #{query.projectLeader}
</if>
<if test="query.finalPartNo != null and query.finalPartNo != ''"> <if test="query.finalPartNo != null and query.finalPartNo != ''">
and final_part_no = #{query.finalPartNo} and final_part_no = #{query.finalPartNo}
</if> </if>

Loading…
Cancel
Save